Hi,

to measure the performance overhead of the Armv8 Genode VMM, I ran some benchmarks (cyclictest and lmbench). I compared it against a native Linux installation on the Imx8-evk board (same kernel version). For some measurements (for example fork + executing /bin/sh from lmbench), I observe counter-intuitive results in the sense that the virtualized version runs faster than the native one (Vm 1,1ms vs. native 2,5ms).

My understanding is, that the virtual timer offset (cntvoff_el2) is not used and thus, the guest sees wall clock time. I would expect that the virtualization incurs an overhead and this overhead manifests itself in longer (wall clock) time measurements.

Do you have any explanation for this or give me a hint on how to confirm correctness of measurements?


Best,

Chris