Suresh Iyer wrote:
I am working on some modifying IPC behaviour for an alternative scheduling mechanism based on temporal partioning.
Sounds cool, can you tell us a little bit more about this work. Also did you have a look at the Pikeos scheduling stuff from Sysgo. They have implemented strong temporal partitions although I don't know whether they allow cross partition IPC calls.
I had a question related to L4 embedded IPC transfer message part ( I dont know whether this could be an L4 generic question ).
In the IPC implementation for l4 embedded , i see that the data is transferred only( ie transfer_messsge called ) only during a send phase of the code. Does this have to be the case ?
In other words, lets assume A is sending to B and B is not ready to receive.. If we switch to B , and the code reaches Bs receive phase, cant B transfer the data from As utcb to Bs utcb by calling transfer_message of L4ka ? or do we have to switch back to A to make the transfer message happen ? The L4 embedded code seems to be doing this . Any reasons for this ?
Most L4 implementations (not only L4 embedded) chose the sender to be the active part but besides code duplication when copying both in the send phase and in the receive phase (depending on which is invoked last) there is no real technical reason why the receiver should not pull the message instead. If the sender comes last it would also be possible to first switch to the receiver and have it pull in his message.
would really appreciate a prompt answer, Thanks so much !!
To cite Merry and Pippin in LOTR: "Don't be hasty!"
Marcus