On 09.02.24 15:38, Michael Tokarev wrote:
02.02.2024 18:31, Hanna Czenczek :
Commit d3f6f294aeadd5f88caf0155e4360808c95b3146 ("virtio-blk: always set
ioeventfd during startup") has made virtio_blk_start_ioeventfd() always
kick the virtqueue (set the ioeventfd), regardless of whether the BB is
drained. That is no longer necessary, because attaching the host
notifier will now set the ioeventfd, too; this happens either
immediately right here in virtio_blk_start_ioeventfd(), or later when
the drain ends, in virtio_blk_ioeventfd_attach().
With event_notifier_set() removed, the code becomes the same as the one
in virtio_blk_ioeventfd_attach(), so we can reuse that function.
The mentioned comit is v8.2.0-812-gd3f6f294ae, - ie, past 8.2.
Is this new change still relevant for stable?
Sorry again. :/ This patch is a clean-up patch that won’t apply to
8.2. Now, 8.2 does have basically the same logic as described in the
patch message (d3f6f294aea restored it after it was broken), so a
similar patch could be made for it (removing the event_notifier_set()
from virtio_blk_data_plane_start()), but whether we kick the virtqueues
once or twice on start-up probably won’t make a difference, certainly
not in terms of correctness.
Hanna