[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH v5 0/6] prevent QEMU from waking up needlessly
Hi all, this small patch series prevents QEMU from waking up needlessly on Xen several times a second in order to check some timers. I would like some comments (or some acks ;-) on patch #4 and #5. The first patch stops QEMU from emulating the PIT on Xen, the second patch disables the rtc_clock entirely. The third patch makes use of a new mechanism to receive buffered io event notifications from Xen, so that QEMU doesn't need to check the buffered io page for data 10 times a sec for the entire life of the VM. The fourth patch fixes win32_rearm_timer and mm_rearm_timer that risk an overflow if INT64_MAX is passed as delta. The fifth patch changes qemu_next_alarm_deadline only to check the expire time of a clock if it is enabled. Finally the last patch makes main_loop_wait wait indefinitely on select unless we actually need a timeout. Changes in v5: - remove the last patch to increase the timeout to 1h, replace it with a patch to wait indefinitely on select unless we need a timeout. Changes in v4: - do not initialize pcspk on xen; - disable rtc_clock only when it points to the host_clock (the default); - make sure it compiles on older xen versions. Changes in v3: - added a new patch to fix win32_rearm_timer and mm_rearm_timer, that risk an overflow if INT64_MAX is passed as delta. Shortlog and diffstat follow: async.c | 2 +- hw/pc.c | 9 ++++++--- main-loop.c | 21 ++++++++++++--------- main-loop.h | 2 +- qemu-timer.c | 33 +++++++++++++++++---------------- qemu-timer.h | 1 - qemu-tool.c | 4 ++++ slirp/libslirp.h | 1 + slirp/slirp.c | 7 +++++++ xen-all.c | 49 +++++++++++++++++++++++++++++++++++++++++++------ 10 files changed, 92 insertions(+), 37 deletions(-) Stefano Stabellini (6): xen: do not initialize the interval timer and PCSPK emulator xen: disable rtc_clock xen: introduce an event channel for buffered io event notifications timers: the rearm function should be able to handle delta = INT64_MAX qemu_next_alarm_deadline: check the expire time of a clock only if it is enabled main_loop_wait: block indefinitely A git tree, based on 9d4df9c02866f39d3eef105033091f367cc7c29e, is available here: git://xenbits.xen.org/people/sstabellini/qemu-dm.git timers-5 Cheers, Stefano _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |