The runqemu script passes the option "highres=off" to the kernel command line for all architectures, if the root filesystem type is not "cpio.gz" or "cpio". This does not really make sense and leads to very inaccurate timers. E.g. on arm64 the resolution of the realtime clock will be only 4 ms. On x86 it is 1 ms, which is still quite inaccurate. It was detected running ltp tests. Especially timer_getoverrun 2-3 from the open_posix interface tests. I tried to find a reason for this option and I think it sneaked itself into the code. It was first introduced in commit 21949128eb6e8daf8308e29c19904288f9e341ef in 2010, which added it for all qemuarm machine-types. The commit is really bad, because it mixes two things ("Add support for mips and powerpc machines", "update qemuarm") and does not further explain what was updated for qemuarm. At this point the options was added for all qemuarm machines. Later in 2016 (commit b405712414de98cba3a645601419aceb32d52f02) the whole script was refactored. This commit adds the option to all machines except if the root filesystem type is "cpio.gz" or "cpio". No reasoning for this change was given. I don't know if there is any reason at all to disable high resolution timers on arm. If the system does not support high res timers, they can be deactivated in the kernel options. There should be no reason for the runqemu script to do this.
Jörg, Can you send a patch to the list and we'll test it in our autobuilder environment. See: http://www.openembedded.org/wiki/How_to_submit_a_patch_to_OpenEmbedded
http://git.yoctoproject.org/cgit.cgi/poky/commit/?id=7ed5aa23c796b8593a4bf66f1b36ffbc69a27496