When running on aarch64a53-zynqmp-qemu target with thread=single qemu option, the entire emulation experiences significant lag if any thread in the system is computationally intensive. This is causing sleep() calls and other timers to take orders of magnitude longer than their specified duration.
The behavior can be observed in waitpid test, where due to starting process with dummy loop (for (;;) ;) sleeping takes longer than expected
After moving signals to kernel in #1340, and with that not interrupting sleep by ignored signals as specified in POSIX, another uninturrupted, longer sleep timeouts the waitpid test.
The problem disappears when thread=single option is removed