qemu-block
[Top][All Lists]
Advanced

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

Re: [Qemu-block] [PATCH v2 10/12] block: Introduce BlockDriver.bdrv_drai


From: Kevin Wolf
Subject: Re: [Qemu-block] [PATCH v2 10/12] block: Introduce BlockDriver.bdrv_drain callback
Date: Mon, 12 Oct 2015 16:17:35 +0200
User-agent: Mutt/1.5.21 (2010-09-15)

Am 12.10.2015 um 13:50 hat Fam Zheng geschrieben:
> Drivers can have internal request sources that generate IO, like the
> need_check_timer in QED. Since we want quiesced periods that contain
> nested event loops in block layer, we need to have a way to disable such
> event sources.
> 
> Block drivers must implement the "bdrv_drain" callback if it has any
> internal sources that can generate I/O activity, like a timer or a
> worker thread (even in a library) that can schedule QEMUBH in an
> asynchronous callback.
> 
> Signed-off-by: Fam Zheng <address@hidden>

I think the right interface would be .bdrv_drain_begin/end callbacks so
that the timers or background work can be reenabled again after the
drained section.

As it happens, QED doesn't need this because you chose to complete the
outstanding work and the timer only needs to be reenabled on the next
write operation. Fine with me, we can extend the interface as soon as we
really need it.

(Though, actually, I'm not sure... I think I'll comment on the QED
patch.)

Kevin



reply via email to

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