qemu-block
[Top][All Lists]
Advanced

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

Re: [Qemu-block] [Qemu-devel] [PATCH] aio-posix: honor is_external in Ai


From: Paolo Bonzini
Subject: Re: [Qemu-block] [Qemu-devel] [PATCH] aio-posix: honor is_external in AioContext polling
Date: Tue, 24 Jan 2017 13:15:03 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.5.1


On 24/01/2017 13:04, Fam Zheng wrote:
> 
> All in all I think we should skip external handlers regardless of
> aio_disable_external(), or even skip try_poll_mode, in nested aio_poll()'s. 
> The
> reasons are 1) many nested aio_poll()'s don't have bdrv_drained_begin, so this
> check is not sufficient [...] bdrv_flush()
> spin longer than necessary, if not forever, when the guest keeps submitting 
> more
> requests with ioeventfd.


I'm not sure I understand why this is related.  aio_poll() only tries
poll mode once, so bdrv_flush would only spin until the fsync is complete.

Nested aio_polls don't have bdrv_drained_begin because draining matters
over the whole section where you need atomicity (e.g. taking a live
snapshot).  It doesn't matter for single I/O operation.

Paolo



reply via email to

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