[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH RFC 0/3] iothread: release iothread around aio_p
From: |
Stefan Hajnoczi |
Subject: |
Re: [Qemu-devel] [PATCH RFC 0/3] iothread: release iothread around aio_poll |
Date: |
Tue, 31 Mar 2015 15:33:19 +0100 |
User-agent: |
Mutt/1.5.23 (2014-03-12) |
On Tue, Mar 31, 2015 at 12:35:16PM +0200, Paolo Bonzini wrote:
>
>
> On 20/02/2015 17:26, Paolo Bonzini wrote:
> > Right now, iothreads are relying on a "contention callback" to release
> > the AioContext (e.g. for block device operations or to do bdrv_drain_all).
> > This is necessary because aio_poll needs to be called within an
> > aio_context_acquire.
> >
> > This series drops this requirement for aio_poll, with two effects:
> >
> > 1) it makes it possible to remove the "contention callback" in RFifoLock
> > (and possibly to convert it to a normal GRecMutex, which is why I am not
> > including a patch to remove callbacks from RFifoLock).
> >
> > 2) it makes it possible to start work around making critical sections
> > for the block layer fine-grained.
> >
> > In order to do this, some data is moved from AioContext to local storage.
> > Stack allocation has size limitations, so thread-local storage is used
> > instead. There are no reentrancy problems because the data is only live
> > throughout a small part of aio_poll, and in particular not during the
> > invocation of callbacks.
> >
> > Comments?
>
> Stefan, can you put this on track for 2.4 or do you need a repost?
Done
pgpUgARJvw9MB.pgp
Description: PGP signature