[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH v5 0/6] prevent QEMU from waking up needlessly



Hi stefano,

I see the hypervisor has supported the event channel for buffered io, but both 
qemu upstream and qemu-xen lack of the support. If those patches still pending 
in qemu upstream, can we adopt them to qemu-xen firstly? It really benefit 
power efficiency greatly.

best regards
yang

> -----Original Message-----
> From: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
> [mailto:xen-devel-bounces@xxxxxxxxxxxxxxxxxxx] On Behalf Of Stefano Stabellini
> Sent: Tuesday, February 14, 2012 11:06 PM
> To: qemu-devel@xxxxxxxxxx
> Cc: xen-devel@xxxxxxxxxxxxxxxxxxx; Stefano Stabellini; Jan Kiszka; Avi Kivity;
> Anthony Liguori; Paolo Bonzini
> Subject: [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

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.