diff options
author | Alex Bligh <alex@alex.org.uk> | 2013-08-21 16:02:44 +0100 |
---|---|---|
committer | Stefan Hajnoczi <stefanha@redhat.com> | 2013-08-22 19:10:27 +0200 |
commit | cd758dd0acaaf1f76f9727d4409915f3293db07a (patch) | |
tree | a7d393d3cb44bc46c4a28acc491a5a53fba1bd59 /qemu-timer.c | |
parent | 4e0c6529fcb5ccbed5eb2c4f094264eb447d49ea (diff) | |
download | qemu-cd758dd0acaaf1f76f9727d4409915f3293db07a.tar.gz qemu-cd758dd0acaaf1f76f9727d4409915f3293db07a.tar.bz2 qemu-cd758dd0acaaf1f76f9727d4409915f3293db07a.zip |
aio / timers: Add prctl(PR_SET_TIMERSLACK, 1, ...) to reduce timer slack
Where supported, called prctl(PR_SET_TIMERSLACK, 1, ...) to
set one nanosecond timer slack to increase precision of timer
calls.
Signed-off-by: Alex Bligh <alex@alex.org.uk>
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Diffstat (limited to 'qemu-timer.c')
-rw-r--r-- | qemu-timer.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/qemu-timer.c b/qemu-timer.c index 120d58fb2a..74f904b310 100644 --- a/qemu-timer.c +++ b/qemu-timer.c @@ -41,6 +41,10 @@ #include <poll.h> #endif +#ifdef CONFIG_PRCTL_PR_SET_TIMERSLACK +#include <sys/prctl.h> +#endif + /***********************************************************/ /* timers */ @@ -507,6 +511,9 @@ void init_clocks(void) vm_clock = qemu_clock_new(QEMU_CLOCK_VIRTUAL); host_clock = qemu_clock_new(QEMU_CLOCK_HOST); } +#ifdef CONFIG_PRCTL_PR_SET_TIMERSLACK + prctl(PR_SET_TIMERSLACK, 1, 0, 0, 0); +#endif } uint64_t timer_expire_time_ns(QEMUTimer *ts) |