simple IPC test results

yu000013 yu000013 at ...176...
Tue Apr 3 05:00:00 CEST 2018


Hi there,


I'm currently doing tests of IPC on different microkernels using Genode framework.


I modified hello_tutorial repo to utilize this very simple scenario where server and client communicate via RPC.


My set up is as follows:
I ran "make run/hello" in each build directory of fiasco_x86, nova_x86_32, okl4_x86, pistachio_x86.
These build directories are all created as is instructed on genode website.
Then I modified etc/build.conf to enable kvm, and uncommented "libports" repo, and added "hello_tutorial" repo.


In client.h, re-implement the add() function as to invoke 10 call<Rpc_add>() functions in sequence (to mitigate the variation of elapse cycles). 
Before the first invocation and after the tenth invocation of call<Rpc_add>(), I invoke two rdtsc respectively and store the current cycle in two variables.
Then before this add() function returns, I print out the difference between the two rdtsc results.


Depend on the different microkernel, the cycles elapsed along the 10 Rpc_add execution varies from around 80000(for okl4_x86) to 170000 (for fiasco_x86).
That is, the cycles elapsing while executing ONE Rpc_add would be around 8000 to 17000 cycles, which seems very long.


So I want to know: is these results reasonable? Or I missed anything in my tests?


Thank you very much!


Yelly







-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.genode.org/pipermail/users/attachments/20180403/71c8f3c0/attachment.html>


More information about the users mailing list