[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH 2/2] virtio: Keep notifications disabled during drain
From: |
Fiona Ebner |
Subject: |
Re: [PATCH 2/2] virtio: Keep notifications disabled during drain |
Date: |
Thu, 25 Jan 2024 10:43:37 +0100 |
User-agent: |
Mozilla Thunderbird |
Am 24.01.24 um 18:38 schrieb Hanna Czenczek:
> During drain, we do not care about virtqueue notifications, which is why
> we remove the handlers on it. When removing those handlers, whether vq
> notifications are enabled or not depends on whether we were in polling
> mode or not; if not, they are enabled (by default); if so, they have
> been disabled by the io_poll_start callback.
>
> Because we do not care about those notifications after removing the
> handlers, this is fine. However, we have to explicitly ensure they are
> enabled when re-attaching the handlers, so we will resume receiving
> notifications. We do this in virtio_queue_aio_attach_host_notifier*().
> If such a function is called while we are in a polling section,
> attaching the notifiers will then invoke the io_poll_start callback,
> re-disabling notifications.
>
> Because we will always miss virtqueue updates in the drained section, we
> also need to poll the virtqueue once after attaching the notifiers.
>
> Buglink: https://issues.redhat.com/browse/RHEL-3934
> Signed-off-by: Hanna Czenczek <hreitz@redhat.com>
Tested-by: Fiona Ebner <f.ebner@proxmox.com>
Reviewed-by: Fiona Ebner <f.ebner@proxmox.com>
[PATCH 1/2] virtio-scsi: Attach event vq notifier with no_poll, Hanna Czenczek, 2024/01/24
Re: [PATCH 0/2] virtio: Keep notifications disabled during drain, Stefan Hajnoczi, 2024/01/25