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: Michael S. Tsirkin
Subject: [Qemu-devel] Re: [PATCH 11/19] use a bottom half to run timers
Date: Mon, 4 Jan 2010 22:01:16 +0200
User-agent: Mutt/1.5.19 (2009-01-05)

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?

IMO we need that, I am not sure all code is as signal-safe
as it should be. At least crashes that I saw with winxp install
seem to be related to signal handling.

>  This has a lot of really nice properties like it  
> eliminates the need for signals and EINTR handling.  A move like this  
> would likely make this more difficult.
>
> I think the opposite sort of move makes more sense.  Treating bottom  
> halves as 0-duration timer events.  Unfortunately, things like cris do  
> not handle this sort of change very well.
>
> Regards,
>
> Anthony Liguori
>




reply via email to

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