qemu-devel
[Top][All Lists]
Advanced

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

[Qemu-devel] Re: [PATCH 11/19] use a bottom half to run timers


From: malc
Subject: [Qemu-devel] Re: [PATCH 11/19] use a bottom half to run timers
Date: Tue, 5 Jan 2010 18:39:09 +0300 (MSK)

On Tue, 5 Jan 2010, Michael S. Tsirkin wrote:

> On Tue, Jan 05, 2010 at 06:32:09PM +0300, malc wrote:
> > On Tue, 5 Jan 2010, Michael S. Tsirkin wrote:
> > 
> > > On Tue, Jan 05, 2010 at 06:23:34PM +0300, malc wrote:
> > > > On Tue, 5 Jan 2010, Michael S. Tsirkin wrote:
> > > > 
> > > > > On Mon, Jan 04, 2010 at 05:54:13PM -0600, Anthony Liguori wrote:
> > > > > > On 01/04/2010 02:01 PM, Michael S. Tsirkin wrote:
> > > > > >> On Mon, Jan 04, 2010 at 02:24:53PM -0600, Anthony Liguori wrote:
> > > > > >>    
> > > > > >>> On 12/21/2009 02:09 AM, Paolo Bonzini wrote:
> > > > > >>>      
> > > > > >>>> Make the timer subsystem register its own bottom half instead of
> > > > > >>>> placing the bottom half code in the heart of the main loop.  To
> > > > > >>>> test if an alarm timer is pending, just check if the bottom half 
> > > > > >>>> is
> > > > > >>>> scheduled.
> > > > > >>>>
> > > > > >>>> Signed-off-by: Paolo Bonzini<address@hidden>
> > > > > >>>>        
> > > > > >>> I'm not a huge fan of this for a couple reasons.  The first is 
> > > > > >>> that it
> > > > > >>> introduces a subtle semantic change.  Previously, timers always 
> > > > > >>> ran
> > > > > >>> before bottom halves whereas after this change, timers may run 
> > > > > >>> after
> > > > > >>> some bottoms halves but before others.  While this should be okay 
> > > > > >>> in
> > > > > >>> principle, in practice, I'm sure it'll introduce regressions.  
> > > > > >>> I'd be
> > > > > >>> very surprised if cris wasn't affected by this.
> > > > > >>>
> > > > > >>> But more importantly, I think timer dispatch needs to be part of 
> > > > > >>> the
> > > > > >>> select loop.  malc has a git tree that replaces host alarm timers 
> > > > > >>> with
> > > > > >>> select() timeouts.
> > > > > >>>      
> > > > > >> Where is that tree?
> > > > > >>    
> > > > > >
> > > > > > http://repo.or.cz/w/qemu/malc.git  mtloop
> > > > > 
> > > > > Don't seem to see anything there.
> > > > > malc?
> > > > 
> > > > Yes?
> > > 
> > > Do you have a patch to switch from signals to select?  If yes could you
> > > tell me where it is so  I can test whether it fixes winxp install
> > > crashes I see?
> > 
> > All i have is published at:
> > http://repo.or.cz/w/qemu/malc.git/shortlog/refs/heads/mtloop
> > 
> > Specifically:
> > http://repo.or.cz/w/qemu/malc.git/commit/b99fef4dc2f1ce9d436791b6821cb30e6335ee9b
> > 
> > A small fix is needed to make it run with KVM though.
> 
> Hmm, I guess at least iothread needs to be put back for KVM?

Nope. One of the sem_waits can actually be interrupted and shouldn't
cause an untimely death of the process.

-- 
mailto:address@hidden




reply via email to

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