qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH v5 0/6] prevent QEMU from waking up needlessly
@ 2012-02-14 15:05 Stefano Stabellini
  2012-02-14 15:07 ` [Qemu-devel] [PATCH v5 1/6] xen: do not initialize the interval timer and PCSPK emulator Stefano Stabellini
                   ` (5 more replies)
  0 siblings, 6 replies; 7+ messages in thread
From: Stefano Stabellini @ 2012-02-14 15:05 UTC (permalink / raw)
  To: qemu-devel@nongnu.org
  Cc: xen-devel@lists.xensource.com, Stefano Stabellini, Jan Kiszka,
	Avi Kivity, Paolo Bonzini

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

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2012-02-14 15:03 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-02-14 15:05 [Qemu-devel] [PATCH v5 0/6] prevent QEMU from waking up needlessly Stefano Stabellini
2012-02-14 15:07 ` [Qemu-devel] [PATCH v5 1/6] xen: do not initialize the interval timer and PCSPK emulator Stefano Stabellini
2012-02-14 15:07 ` [Qemu-devel] [PATCH v5 2/6] xen: disable rtc_clock Stefano Stabellini
2012-02-14 15:07 ` [Qemu-devel] [PATCH v5 3/6] xen: introduce an event channel for buffered io event notifications Stefano Stabellini
2012-02-14 15:07 ` [Qemu-devel] [PATCH v5 4/6] timers: the rearm function should be able to handle delta = INT64_MAX Stefano Stabellini
2012-02-14 15:07 ` [Qemu-devel] [PATCH v5 5/6] qemu_next_alarm_deadline: check the expire time of a clock only if it is enabled Stefano Stabellini
2012-02-14 15:07 ` [Qemu-devel] [PATCH v5 6/6] main_loop_wait: block indefinitely Stefano Stabellini

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).