seL4 IPC fastpath question
Hello, I have question about seL4 IPC fastpath. I ran sel4bench on sabre lite(arm v7). 1. IPC fastpath can apply in seL4_Call and seL4_Reply_Recv, is it right? seL4_Send, seL4_Recv can't apply IPC fastpath. 2. IPC_fastpath can only send message that message's length is 0, is it right? I found these comments. /* Call slowpath, long IPC (10), same prio client to server, different address space */ /* ReplyRecv slowpath, long IPC (10), same prio server to client, on the slowpath, different address space */ 3. In seL4 IPC mechanism, IPC only use registers not memory?
Hi,
1. IPC fastpath can apply in seL4_Call and seL4_Reply_Recv, is it right? seL4_Send, seL4_Recv can't apply IPC fastpath.
Yes. We could add fastpaths for other paths if required but they do not currently exist.
2. IPC_fastpath can only send message that message's length is 0, is it right?
No. The IPC fastpath can only send messages that fit into registers. The constant `seL4_FastMessageRegisters` defines this value for all platforms (usually 4, except for ia32).
3. In seL4 IPC mechanism, IPC only use registers not memory?
No. IPC messages > seL4_FastMessageRegisters is transferred via the IPC buffer in memory. ?Cheers, Anna.
On 8 Oct 2018, at 09:23, Anna.Lyons@data61.csiro.aumailto:Anna.Lyons@data61.csiro.au wrote:
1. IPC fastpath can apply in seL4_Call and seL4_Reply_Recv, is it right? seL4_Send, seL4_Recv can't apply IPC fastpath.
Yes. We could add fastpaths for other paths if required but they do not currently exist. which would only happen if there was a convincing use case, which I haven’t seen yet. seL4_Send and seL4_Recv are meant to be used for setting up connections, not for performance-critical stuff. Gernot
participants (3)
-
Anna.Lyons@data61.csiro.au
-
Gernot.Heiser@data61.csiro.au
-
송대영