qemu-devel
[Top][All Lists]
Advanced

[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: Paolo Bonzini
Subject: Re: [Qemu-devel] [PATCH RFC 0/3] iothread: release iothread around aio_poll
Date: Tue, 31 Mar 2015 12:35:16 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.5.0


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?

Paolo



reply via email to

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