Zephyr as UOS slows down when SOS is busy

Alfonso Sanchez-Beato


I have been playing with using Zephyr as UOS on top of Ubuntu as SOS, using the Industry scenario and launching the UOS with launch_zephyr.sh.

I created this small program to prove that Zephyr was not affected by what happened in the SOS: https://paste.ubuntu.com/p/c3j9XwvrT6/ (with config https://paste.ubuntu.com/p/sPhwTRrRTZ/). The program simply calculates the number of primes below a number and prints the time spent.

Although the problem runs and I get output from the serial port, I found two problems:

1. gettimeofday is not returning good times, the elapsed time is ~20 times more than the real one. I see the same problem when using k_uptime_get and k_uptime_delta. It looks related to handling of the HW clock, but the pre-defined frequency (100) seems correct.

2. More importantly, I see that the time spent in the calculation varies when I do something CPU intensive on the SOS. For instance, if I run the same calculation on the SOS, I see that Zephyr is expending 5% more time in the calculation, which should not happen and defeats the purpose of this set-up.

ACRN version is:
HV version 1.4-unstable-2020-01-09 09:45:06-bcefd673 DBG (daily tag: acrn-2019w47.1-140000p) build by ubuntu
API version 1.0

Any ideas on what might be going on?


Join acrn-users@lists.projectacrn.org to automatically receive all group messages.