qemu-devel
[Top][All Lists]
Advanced

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

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


From: Anthony Liguori
Subject: Re: [Qemu-devel] [PATCH 11/19] use a bottom half to run timers
Date: Mon, 04 Jan 2010 14:24:53 -0600
User-agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.1.5) Gecko/20091209 Fedora/3.0-4.fc12 Lightning/1.0pre Thunderbird/3.0

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. 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]