Fiasco.OC: question regarding l4_ipc_wait() and l4_ipc_reply_and_ipc_wait().
adam at os.inf.tu-dresden.de
Fri Feb 1 00:51:09 CET 2013
On Thu Jan 31, 2013 at 10:56:57 +0400, óÅÒÇÅÊ çÒÅÈÏ× wrote:
> 1) Is there any way to know on the receive side who had sent the IPC
> we have catched with l4_ipc_wait()? One of the ways if to enable IPC
> logging in JDB. But the problem is that trace usually consist of
> several thousands of IPCs and I need only one. Filtering helps a bit,
> but still it takes much more time to find needed info.
l4_ipc_wait() has the label which identifies the ipc-gate through which
the IPC came. However, this does not identify the sender (thread) in
case multiple threads are using the same ipc-gate. To help with the
trace, user-space can also add trace entries via fiasco_tbuf_log(_3val)
which might help identifying specific sequences. enter_kdebug is also
popular to stop execution and enter jdb.
> 2) According to the description of l4_ipc_reply_and_ipc_wait() in
> header file: "A message is sent to the previous caller using the
> implicit reply capability. Afterwards the invoking thread waits for a
> message from any source." The question is what events/things/whatever
> updates this implicit reply capability and what will happen if this
> capability is invalid?
It will be set for ipc-call operation, so that an answer can come back.
Invalid would mean an ipc-reply operation would return with an error.
> And one more general question. Is there any documentation on JDB?
There's the jdb manual: http://os.inf.tu-dresden.de/fiasco/doc.html
Adam adam at os.inf.tu-dresden.de
More information about the l4-hackers