On 28/09/2015 11:50, Stefan Hajnoczi wrote:
> On Thu, Aug 06, 2015 at 03:35:59PM +0200, Paolo Bonzini wrote:
>> This is the first step towards having fine-grained critical sections in
>> dataplane threads, which resolves lock ordering problems between
>> address_space_* functions (which need the BQL when doing MMIO, even
>> after we complete RCU-based dispatch) and the AioContext.
>>
>> Because AioContext does not use contention callbacks anymore, the
>> unit test has to be changed.
>>
>> Previously applied as a0710f7995f914e3044e5899bd8ff6c43c62f916 and
>> then reverted.
> 
> commit da5e1de95bb235330d7724316e7a29239d1359d5
> Author: Stefan Hajnoczi <stefa...@redhat.com>
> Date:   Wed Jun 3 10:15:33 2015 +0100
> 
>     Revert "iothread: release iothread around aio_poll"
>     
>     This reverts commit a0710f7995f914e3044e5899bd8ff6c43c62f916.
>     
>     In qemu-devel email message <556dbf87.2020...@de.ibm.com>, Christian
>     Borntraeger writes:
>     
>       Having many guests all with a kernel/ramdisk (via -kernel) and
>       several null block devices will result in hangs. All hanging
>       guests are in partition detection code waiting for an I/O to return
>       so very early maybe even the first I/O.
>     
>       Reverting that commit "fixes" the hangs.
>     
>     Reverting this commit for the 2.4 release.  More time is needed to
>     investigate and correct this patch.
> 
> Did we ever find the root cause for hangs caused by this patch?

It was fixed by commit 53ec73e ("block: Use bdrv_drain to replace
uncessary bdrv_drain_all", 2015-05-29)'s change to bdrv_set_aio_context.
 We never investigated the root cause, but I'd guess it's gone after the
2.4-rc bugfixes to AioContext.

Paolo

Reply via email to