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
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
genode-main mailing list
genode-main@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/genode-main