Hello Michael,
On Tue, Oct 20, 2020 at 22:19:28 CEST, Michael Grunditz wrote:
A little question about clocks and timers: My timer irq is running every 200000ns. In qemu it works perfectly well, but on real hardware it runs ok for 3-4s than pause for some time and back again. If this was just on my quite fast PC , then ok. But the same problem can also be seen on my not so fast laptop. The laptop is around the speed of Qemu kvm on the big pc.
This behavior is strange and unexpected. Could you isolate the issue in a small test program and run script?
Also, you may investigate yourself by running the "top" tool in your scenario and see if any component is seizing the CPU while iot should be blocked. Please have a look at [1] for an example integration.
I am using libc clocking to measure time. Should I use a Genode native function instead?
The libc functions should be fine as long as the main thread does not spin for long periods. The implementation of I/O handling (including timing) in the libc depends on the responsiveness of the main thread/entrypoint.
[1] https://github.com/genodelabs/genode/blob/91f82816189c1aad5d03168cc86c4b4946...
Regards