Re: Fwd: l4shmnet and its structure
Adam Lackorzynski <[email protected]>
| Newsgroups | gmane.comp.micro-kernel.l4.devel |
|---|---|
| Message-ID | <[email protected]> |
On Mon Jun 16, 2014 at 20:49:12 +0200, cem akpolat wrote: > "So I understand that you configured one L4Linux with two l4shmnet > network interfaces and one of those two did not work? Hard to tell for > me what's wrong without more info." > > I added printf lines to shmc.c file and the output I get the following > output while a connection is created btw. the server and the first client. > > //*************************************// > client1 | l4shmc_create : starting > client1 | l4shmc_create : l4re_ns_register_obj_srv returned error > client1 | l4shmc_attach_to : starting > client1 | l4shmc_attach_to : no problem, returning L4_OK > client1 | l4shmc_add_chunk : starting > client1 | l4shmc_add_chunk : executing chunk_get > client1 | l4shmc_add_chunk : in the else side due to offs > client1 | l4shmc_add_chunk : returning L4_OK > client1 | l4shmc_add_signal : starting > client1 | l4shmc_add_signal : returning L4_EOK > client1 | l4shmc_get_chunk_to :starting > server | l4shmc_get_chunk_to :starting > > net shm0: shm0: L4ShmNet established, with 54:42:00:00:ff:01, IRQ 66 > client1 net shm0: shm0: L4ShmNet established, with 54:42:00:00:ff:02, IRQ > 65 > > > And the following output between the server and the second client: > > //*************************************// > client2 | l4shmc_create : starting > client2 | l4shmc_create : l4re_ns_register_obj_srv returned error > client2 | l4shmc_attach_to : starting > client2 | l4shmc_attach_to : no problem, returning L4_OK > client2 | l4shmc_add_chunk : starting > client2 | l4shmc_add_chunk : executing chunk_get > client2 | l4shmc_add_chunk : in the else side due to offs > client2 | l4shmc_add_chunk : returning L4_OK > client2 | l4shmc_add_signal : starting > client2 | l4shmc_add_signal : returning L4_EOK > client2 | l4shmc_get_chunk_to :starting > server | l4shmc_get_chunk_to :starting > net shm1: shm1: L4ShmNet established, with 54:42:00:00:ff:04, IRQ 67 > //*************************************// > > As you can see, the second client does not respond after the connection > established message from the server. I have two questions regarding this > problem: > > 1) Is the message "l4re_ns_register_obj_srv returned error" the source of > the problem? If so, then what might be the reason for this error? And also, > why does the connection work properly between the first server and the > client if that is the source of the problem? The source tells me that EEXISTS is ok as a return code. Is it this one? > 2) Could it be the case that the second client obtains the same IRQ number > with the first client(IRQ 65) or the server (IRQ66 or 67), and therefore > the trigger signal is not received by the second client? No. Those interrupts are virtual ones that are local to the Linux, thus IRQ65 is a different one in each Linux. > How can I detect > this problem? Which function is responsible for the IRQ numbering? The IRQ number allocation for virtual IRQs is in arch/l4/kernel/irq.c. Does client2+shm1 work if you do not configure client1+shm0? Adam -- Adam [email protected] Lackorzynski http://os.inf.tu-dresden.de/~adam/