virtualization.lists.linux-foundation.org archive mirror
 help / color / mirror / Atom feed
From: "Michael S. Tsirkin" <mst@redhat.com>
To: "Li,Rongqing" <lirongqing@baidu.com>
Cc: "jasowang@redhat.com" <jasowang@redhat.com>,
	"xuanzhuo@linux.alibaba.com" <xuanzhuo@linux.alibaba.com>,
	"virtualization@lists.linux.dev" <virtualization@lists.linux.dev>,
	"parav@nvidia.com" <parav@nvidia.com>,
	songyang23 <songyang23@baidu.com>, liubokai <liubokai@baidu.com>,
	"Song,Zhan" <songzhan@baidu.com>
Subject: Re: [RFC] Revert "virtio_pci: Support surprise removal of virtio pci
Date: Thu, 11 Jan 2024 11:21:26 -0500	[thread overview]
Message-ID: <20240111111921-mutt-send-email-mst@kernel.org> (raw)
In-Reply-To: <c45dd68698cd47238c55fb73ca9b4741@baidu.com>

On Thu, Jan 11, 2024 at 09:14:37AM +0000, Li,Rongqing wrote:
> Revert "virtio_pci: Support surprise removal of virtio pci device"
> 
> This reverts commit 43bb40c5b92659966bdf4bfe584fde0a3575a049.
> 
> Marking the device as broken will cause the uncompleted IO request on
> virtio-blk since virtblk_done will not continue when it find the broken virtqueu
> at last it will cause the failure of removal of virtio-blk device because of
> uncompleted IO request
> 
> The correct fix for the issue that commit 43bb40c5b9 ("virtio_pci:
> Support surprise removal of virtio pci device") tried to fix
> is that virtio backend always complete the IO request as soon as possible
> 
> Signed-off-by: Li RongQing <lirongqing@baidu.com>
> ---
>  drivers/virtio/virtio_pci_common.c | 7 -------
>  1 file changed, 7 deletions(-)
> 
> diff --git a/drivers/virtio/virtio_pci_common.c b/drivers/virtio/virtio_pci_common.c
> index 7a55939..d60fe99 100644
> --- a/drivers/virtio/virtio_pci_common.c
> +++ b/drivers/virtio/virtio_pci_common.c
> @@ -584,13 +584,6 @@ static void virtio_pci_remove(struct pci_dev *pci_dev)
>         struct virtio_pci_device *vp_dev = pci_get_drvdata(pci_dev);
>         struct device *dev = get_device(&vp_dev->vdev.dev);
> 
> -       /*
> -        * Device is marked broken on surprise removal so that virtio upper
> -        * layers can abort any ongoing operation.
> -        */
> -       if (!pci_device_is_present(pci_dev))
> -               virtio_break_device(&vp_dev->vdev);
> -
>         pci_disable_sriov(pci_dev);


Maybe break device is not the right thing to do. Indeed, request buffers which
have been already used are not completed by driver.
Just removing this is not good since you can then get more requests
and the device is gone.

>         unregister_virtio_device(&vp_dev->vdev);
> --
> 2.9.4


  parent reply	other threads:[~2024-01-11 16:21 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-01-11  9:14 [RFC] Revert "virtio_pci: Support surprise removal of virtio pci Li,Rongqing
2024-01-11 10:18 ` Parav Pandit
2024-01-11 11:47   ` Li,Rongqing
2024-01-11 11:54     ` Parav Pandit
2024-01-11 11:58       ` Li,Rongqing
2024-01-11 12:01         ` Parav Pandit
2024-01-11 16:21 ` Michael S. Tsirkin [this message]
2024-01-12  2:28   ` Li,Rongqing
2024-01-12  5:56     ` Parav Pandit

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20240111111921-mutt-send-email-mst@kernel.org \
    --to=mst@redhat.com \
    --cc=jasowang@redhat.com \
    --cc=lirongqing@baidu.com \
    --cc=liubokai@baidu.com \
    --cc=parav@nvidia.com \
    --cc=songyang23@baidu.com \
    --cc=songzhan@baidu.com \
    --cc=virtualization@lists.linux.dev \
    --cc=xuanzhuo@linux.alibaba.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).