19 Apr
2024
19 Apr
'24
9:40 p.m.
On Fri, Apr 19, 2024 at 4:22 AM Indan Zupancic
Because it is asynchronous: You do 10k system calls which queue some data, QNX can do one context switch to the server to handle all 10k of them in one go.
The client needs to read a reply from the server for each message sent to make it equivalent to seL4's code.
QNX's read() appears to be a very simple wrapper around MsgSend(), which is synchronous and has similar RPC-like semantics to seL4_Call except that it operates on a user-provided arbitrary-length buffer instead of a fixed one. I don't think there's any combining of multiple calls into one going on here.