Am 20.05.2025 um 08:09 hat Fiona Ebner geschrieben:
> On 19.05.25 2:10 PM, Fiona Ebner wrote:
> > Am 14.05.25 um 21:54 schrieb Kevin Wolf:
> >> Am 08.05.2025 um 16:09 hat Fiona Ebner geschrieben:
> >>> In bdrv_graph_wrlock() there is a comment that it uses
> >>> bdrv_drain_all_begin_nopoll() to make sure that constantly arriving
> >>> new I/O doesn't cause starvation. The changes from this series are at
> >>> odds with that, but there doesn't seem to be any (new) test failures.
> >>
> >> I don't see why they are at odds with it? Draining an already drained
> >> node isn't a problem, it just increases the counter without doing
> >> anything else.
> > 
> > What I mean is: the introduction of calls to bdrv_drain_all_begin()
> > before bdrv_drain_all_begin_nopoll() could introduce potential for
> > starvation when there is constantly arriving new I/O. Or is this not true?
> 
> Oh, I guess I know why I was confused now: I thought the comment is the
> rationale for why the _nopoll variant is used, but the comment is the
> rationale for the draining itself :)

Ah, yes, it is! Or for both together, but in the sense why nopoll is
good enough, not why it does something that the normal drain wouldn't
do. The nopoll variant is used simply because we don't really need to
have all requests drained, it's good enough if no new request are coming
in.

Kevin


Reply via email to