On 2/21/22 10:56, Longpeng(Mike) via wrote:
The qemu_sem_timedwait() uses system time as default, it would be affected by
changes to the system time. In the real scenario, the time that goes faster or
slower is a common case and the NTP service could help us to sync time
periodically.
This patchset uses monotonic clock instead of the realtime clock, this could
make sure we would not be affected by the system time anymore.
This looks good, I don't think there are cases where a more optimized
semaphore is necessary (if there were, we could introduce a futex
fallback on Linux).
However, pthread_condattr_t need not be in the struct. The attributes
can be allocated on the stack, because they do not have to remain alive
after pthread_cond_init.
Thanks,
Paolo
Longpeng (Mike) (2):
sem-posix: remove the posix semaphore support
sem-posix: use monotonic clock instead
include/qemu/thread-posix.h | 5 +--
meson.build | 12 ++++++-
util/qemu-thread-posix.c | 82 +++++++++++++++------------------------------
3 files changed, 39 insertions(+), 60 deletions(-)