On 4/19/24 05:12, Indan Zupancic wrote: > Hello Andrew, > > On 2024-04-19 05:00, Andrew Warkentin wrote: >> Here's the exact code for the benchmark loop I'm using on seL4: >> >> void c_test_client(seL4_CPtr endpoint) >> { >> struct seL4_MessageInfo info = seL4_MessageInfo_new(0, 0, 0, 2); >> int j; >> for (j = 0; j < 10000; j++){ >> seL4_Call(endpoint, info); >> } >> } >> >> void c_test_server(seL4_CPtr endpoint, seL4_CPtr reply) >> { >> struct seL4_MessageInfo info = seL4_MessageInfo_new(0, 0, 0, 2); >> while (1){ >> seL4_Recv(endpoint, (void *)0, reply); >> seL4_Send(reply, info); >> } >> } > > This measures synchronous calls, so 20k context switches back and forth > between the client and the server. > >> I'm not quite sure what would be slowing it down. I would have thought >> this would be measuring only the cost of a round trip IPC and nothing >> more. Is there possibly some kind of scheduling issue adding overhead? > > Yes, you are running it in a virtual machine, remember? Any timing is > suspect.
Should not be an order of magnitude off, though. -- Sincerely, Demi Marie Obenour (she/her/hers) _______________________________________________ Devel mailing list -- devel@sel4.systems To unsubscribe send an email to devel-leave@sel4.systems