All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jason Wang <jasowang@redhat.com>
To: "Eugenio Pérez" <eperezma@redhat.com>, qemu-devel@nongnu.org
Cc: Parav Pandit <parav@mellanox.com>,
	Stefan Hajnoczi <stefanha@redhat.com>,
	Si-Wei Liu <si-wei.liu@oracle.com>,
	Laurent Vivier <lvivier@redhat.com>,
	Harpreet Singh Anand <hanand@xilinx.com>,
	"Michael S. Tsirkin" <mst@redhat.com>,
	Gautam Dawar <gdawar@xilinx.com>,
	Liuxiangdong <liuxiangdong5@huawei.com>,
	Stefano Garzarella <sgarzare@redhat.com>,
	Cindy Lu <lulu@redhat.com>, Eli Cohen <eli@mellanox.com>,
	Cornelia Huck <cohuck@redhat.com>,
	Zhu Lingshan <lingshan.zhu@intel.com>,
	kvm@vger.kernel.org, "Gonglei (Arei)" <arei.gonglei@huawei.com>,
	Paolo Bonzini <pbonzini@redhat.com>
Subject: Re: [PATCH v6 05/10] vdpa: move SVQ vring features check to net/
Date: Thu, 10 Nov 2022 13:40:40 +0800	[thread overview]
Message-ID: <56bfad97-74d2-8570-c391-83ecf9965cfd@redhat.com> (raw)
In-Reply-To: <20221108170755.92768-6-eperezma@redhat.com>


在 2022/11/9 01:07, Eugenio Pérez 写道:
> The next patches will start control SVQ if possible. However, we don't
> know if that will be possible at qemu boot anymore.


If I was not wrong, there's no device specific feature that is checked 
in the function. So it should be general enough to be used by devices 
other than net. Then I don't see any advantage of doing this.

Thanks


>
> Since the moved checks will be already evaluated at net/ to know if it
> is ok to shadow CVQ, move them.
>
> Signed-off-by: Eugenio Pérez <eperezma@redhat.com>
> ---
>   hw/virtio/vhost-vdpa.c | 33 ++-------------------------------
>   net/vhost-vdpa.c       |  3 ++-
>   2 files changed, 4 insertions(+), 32 deletions(-)
>
> diff --git a/hw/virtio/vhost-vdpa.c b/hw/virtio/vhost-vdpa.c
> index 3df2775760..146f0dcb40 100644
> --- a/hw/virtio/vhost-vdpa.c
> +++ b/hw/virtio/vhost-vdpa.c
> @@ -402,29 +402,9 @@ static int vhost_vdpa_get_dev_features(struct vhost_dev *dev,
>       return ret;
>   }
>   
> -static int vhost_vdpa_init_svq(struct vhost_dev *hdev, struct vhost_vdpa *v,
> -                               Error **errp)
> +static void vhost_vdpa_init_svq(struct vhost_dev *hdev, struct vhost_vdpa *v)
>   {
>       g_autoptr(GPtrArray) shadow_vqs = NULL;
> -    uint64_t dev_features, svq_features;
> -    int r;
> -    bool ok;
> -
> -    if (!v->shadow_vqs_enabled) {
> -        return 0;
> -    }
> -
> -    r = vhost_vdpa_get_dev_features(hdev, &dev_features);
> -    if (r != 0) {
> -        error_setg_errno(errp, -r, "Can't get vdpa device features");
> -        return r;
> -    }
> -
> -    svq_features = dev_features;
> -    ok = vhost_svq_valid_features(svq_features, errp);
> -    if (unlikely(!ok)) {
> -        return -1;
> -    }
>   
>       shadow_vqs = g_ptr_array_new_full(hdev->nvqs, vhost_svq_free);
>       for (unsigned n = 0; n < hdev->nvqs; ++n) {
> @@ -436,7 +416,6 @@ static int vhost_vdpa_init_svq(struct vhost_dev *hdev, struct vhost_vdpa *v,
>       }
>   
>       v->shadow_vqs = g_steal_pointer(&shadow_vqs);
> -    return 0;
>   }
>   
>   static int vhost_vdpa_init(struct vhost_dev *dev, void *opaque, Error **errp)
> @@ -461,11 +440,7 @@ static int vhost_vdpa_init(struct vhost_dev *dev, void *opaque, Error **errp)
>       dev->opaque =  opaque ;
>       v->listener = vhost_vdpa_memory_listener;
>       v->msg_type = VHOST_IOTLB_MSG_V2;
> -    ret = vhost_vdpa_init_svq(dev, v, errp);
> -    if (ret) {
> -        goto err;
> -    }
> -
> +    vhost_vdpa_init_svq(dev, v);
>       vhost_vdpa_get_iova_range(v);
>   
>       if (!vhost_vdpa_first_dev(dev)) {
> @@ -476,10 +451,6 @@ static int vhost_vdpa_init(struct vhost_dev *dev, void *opaque, Error **errp)
>                                  VIRTIO_CONFIG_S_DRIVER);
>   
>       return 0;
> -
> -err:
> -    ram_block_discard_disable(false);
> -    return ret;
>   }
>   
>   static void vhost_vdpa_host_notifier_uninit(struct vhost_dev *dev,
> diff --git a/net/vhost-vdpa.c b/net/vhost-vdpa.c
> index d3b1de481b..fb35b17ab4 100644
> --- a/net/vhost-vdpa.c
> +++ b/net/vhost-vdpa.c
> @@ -117,9 +117,10 @@ static bool vhost_vdpa_net_valid_svq_features(uint64_t features, Error **errp)
>       if (invalid_dev_features) {
>           error_setg(errp, "vdpa svq does not work with features 0x%" PRIx64,
>                      invalid_dev_features);
> +        return false;
>       }
>   
> -    return !invalid_dev_features;
> +    return vhost_svq_valid_features(features, errp);
>   }
>   
>   static int vhost_vdpa_net_check_device_id(struct vhost_net *net)


  reply	other threads:[~2022-11-10  5:41 UTC|newest]

Thread overview: 46+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-11-08 17:07 [PATCH v6 00/10] ASID support in vhost-vdpa net Eugenio Pérez
2022-11-08 17:07 ` [PATCH v6 01/10] vdpa: Use v->shadow_vqs_enabled in vhost_vdpa_svqs_start & stop Eugenio Pérez
2022-11-10  5:21   ` Jason Wang
2022-11-10 12:54     ` Eugenio Perez Martin
2022-11-11  7:24       ` Jason Wang
2022-11-08 17:07 ` [PATCH v6 02/10] vhost: set SVQ device call handler at SVQ start Eugenio Pérez
2022-11-10  5:22   ` Jason Wang
2022-11-08 17:07 ` [PATCH v6 03/10] vhost: Allocate SVQ device file descriptors at device start Eugenio Pérez
2022-11-10  5:28   ` Jason Wang
2022-11-08 17:07 ` [PATCH v6 04/10] vdpa: add vhost_vdpa_net_valid_svq_features Eugenio Pérez
2022-11-10  5:29   ` Jason Wang
2022-11-08 17:07 ` [PATCH v6 05/10] vdpa: move SVQ vring features check to net/ Eugenio Pérez
2022-11-10  5:40   ` Jason Wang [this message]
2022-11-10 13:09     ` Eugenio Perez Martin
2022-11-11  7:34       ` Jason Wang
2022-11-11  7:55         ` Eugenio Perez Martin
2022-11-11  8:07           ` Jason Wang
2022-11-11 12:58             ` Eugenio Perez Martin
2022-11-14  4:26               ` Jason Wang
2022-11-14 10:10                 ` Eugenio Perez Martin
2022-11-08 17:07 ` [PATCH v6 06/10] vdpa: Allocate SVQ unconditionally Eugenio Pérez
2022-11-08 17:07 ` [PATCH v6 07/10] vdpa: Add asid parameter to vhost_vdpa_dma_map/unmap Eugenio Pérez
2022-11-10  5:50   ` Jason Wang
2022-11-10 13:22     ` Eugenio Perez Martin
2022-11-11  7:41       ` Jason Wang
2022-11-11 13:02         ` Eugenio Perez Martin
2022-11-14  4:27           ` Jason Wang
2022-11-08 17:07 ` [PATCH v6 08/10] vdpa: Store x-svq parameter in VhostVDPAState Eugenio Pérez
2022-11-08 17:07 ` [PATCH v6 09/10] vdpa: Add listener_shadow_vq to vhost_vdpa Eugenio Pérez
2022-11-10  6:00   ` Jason Wang
2022-11-10 13:47     ` Eugenio Perez Martin
2022-11-11  7:48       ` Jason Wang
2022-11-11 13:12         ` Eugenio Perez Martin
2022-11-14  4:30           ` Jason Wang
2022-11-14 16:30             ` Eugenio Perez Martin
2022-11-15  3:04               ` Jason Wang
2022-11-15 11:24                 ` Eugenio Perez Martin
2022-11-16  3:33                   ` Jason Wang
2022-11-08 17:07 ` [PATCH v6 10/10] vdpa: Always start CVQ in SVQ mode Eugenio Pérez
2022-11-10  6:24   ` Jason Wang
2022-11-10 16:07     ` Eugenio Perez Martin
2022-11-11  8:02       ` Jason Wang
2022-11-11 14:38         ` Eugenio Perez Martin
2022-11-14  4:36           ` Jason Wang
2022-11-10 12:25 ` [PATCH v6 00/10] ASID support in vhost-vdpa net Michael S. Tsirkin
2022-11-10 12:56   ` Eugenio Perez Martin

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=56bfad97-74d2-8570-c391-83ecf9965cfd@redhat.com \
    --to=jasowang@redhat.com \
    --cc=arei.gonglei@huawei.com \
    --cc=cohuck@redhat.com \
    --cc=eli@mellanox.com \
    --cc=eperezma@redhat.com \
    --cc=gdawar@xilinx.com \
    --cc=hanand@xilinx.com \
    --cc=kvm@vger.kernel.org \
    --cc=lingshan.zhu@intel.com \
    --cc=liuxiangdong5@huawei.com \
    --cc=lulu@redhat.com \
    --cc=lvivier@redhat.com \
    --cc=mst@redhat.com \
    --cc=parav@mellanox.com \
    --cc=pbonzini@redhat.com \
    --cc=qemu-devel@nongnu.org \
    --cc=sgarzare@redhat.com \
    --cc=si-wei.liu@oracle.com \
    --cc=stefanha@redhat.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.