qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [RFC][PATCH] Add HPET emulation to qemu (v2)


From: Beth Kon
Subject: Re: [Qemu-devel] [RFC][PATCH] Add HPET emulation to qemu (v2)
Date: Tue, 12 Aug 2008 12:33:52 -0400

On Sat, 2008-08-02 at 18:21 +0100, Samuel Thibault wrote:
> Anthony Liguori, le Sat 02 Aug 2008 09:46:30 -0500, a écrit :
> > Samuel Thibault wrote:
> > >Beth Kon, le Sat 02 Aug 2008 06:05:14 -0500, a écrit :
> > >  
> > >>I was trying to reproduce the wakeup every 10ms that 
> > >>Samuel Thibault mentioned, thinking the HPET would improve it. 
> > >>But for an idle guest in both cases (with and without HPET), the 
> > >>number of wakeups per second was relatively low (28).
> > >>    
> > >
> > >I was referring to vl.c's timeout = 10; which makes the select call
> > >use a timeout of 10ms. That said, "/* If all cpus are halted then wait
> > >until the next IRQ */", so maybe that's why you get slower wakeups per
> > >second.  I'm still surprised because of the call to qemu_mod_timer in
> > >pit_irq_timer_update which should setup at least a 100Hz timer with
> > >linux guests (when they don't have HPET available).
> > >  
> > 
> > The patch disables that when hpet is active.
> 
> That's why I would expect, indeed, but he is reporting that _without_
> HPET he gets low wakeups per second already.
> 
> Samuel

Yes, 28 is incorrect. I was misinterpreting the output of powertop,
shown here:

Wakeups-from-idle per second : 27.7     interval: 10.0s
no ACPI power usage estimate available

Top causes for wakeups:
  46.1% ( 63.9)   qemu-system-x86 : schedule_timeout (process_timeout)
  36.5% ( 50.6)   qemu-system-x86 : sys_timer_settime (posix_timer_fn)
  ...


The "Wakeups-from-idle per second" reports 27.7, but the powertop source
code shows that this value is the total wakeups-per-second divided by
the number of online processors. So the proper number of
wakeups-per-second caused by the select is 63.9, which makes more
sense. 

Looking at the main_loop code, there is no way to get a timeout of
greater than 10 without setting icount. 
> --
> To unsubscribe from this list: send the line "unsubscribe kvm" in
> the body of a message to address@hidden
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
-- 
Elizabeth Kon (Beth)
IBM Linux Technology Center
Open Hypervisor Team
email: address@hidden





reply via email to

[Prev in Thread] Current Thread [Next in Thread]