qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [RFC] [PATCHv10 00/31] aio / timers: Add AioContext tim


From: Stefan Hajnoczi
Subject: Re: [Qemu-devel] [RFC] [PATCHv10 00/31] aio / timers: Add AioContext timers and use ppoll
Date: Tue, 24 Sep 2013 15:48:51 +0200
User-agent: Mutt/1.5.21 (2010-09-15)

On Wed, Sep 18, 2013 at 09:23:09AM +0100, Alex Bligh wrote:
> Paolo,
> 
> On 18 Sep 2013, at 08:57, Paolo Bonzini wrote:
> 
> > Il 17/09/2013 19:32, Alex Bligh ha scritto:
> >> 
> >> On 17 Sep 2013, at 18:04, Paolo Bonzini wrote:
> >> 
> >>> Alex, what's missing before block.c and QED can use aio_timer_new on
> >>> the main AioContext, instead of timer_new?
> >> 
> >> If we assume at this stage the threading is no different, very little
> >> I think. Off the top of my head it should be a case of:
> >> 
> >> 1. Audit timer routines to ensure they are safe to call from
> >>   inside aio_poll rather than mainloop. EG if there is a timer
> >>   routine that itself calls aio_poll, that would presumably
> >>   be bad. A quick check suggests we need to think about the
> >>   coroutine stuff carefully here if we don't want recursion.
> >> 
> >> 2. Replace timer_new by aio_timer_new
> >> 
> >> 3. Cross fingers and hope for the best.
> > 
> > Yes, that was my understanding too.  Can we do it for 1.7?
> 
> Don't see why not. I'd need to immerse myself in coroutines
> and understand how they all work and am off on vacation for
> a week tomorrow, so someone else (Stefan?) may be able to
> do it faster than me. I expect it's just a case of saying
> "yup, that will work" for someone who knows the co-routine
> call-graph. If not, I'll have a look at it on my return.

Sorry I wasn't following this thread.  But I will put together patches
to convert existing block layer timers to use AioContext timers and
finally let drain work without spinning.

Stefan



reply via email to

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