thebeanogamer / rpms / qemu-kvm

Forked from rpms/qemu-kvm 5 months ago
Clone

Blame SOURCES/kvm-vhost-vdpa-change-name-and-polarity-for-vhost_vdpa_o.patch

719b13
From 073595e503c4f13a7e598bdb83b2ea724d169cbf Mon Sep 17 00:00:00 2001
719b13
From: Si-Wei Liu <si-wei.liu@oracle.com>
719b13
Date: Fri, 6 May 2022 19:28:17 -0700
719b13
Subject: [PATCH 6/7] vhost-vdpa: change name and polarity for
719b13
 vhost_vdpa_one_time_request()
719b13
MIME-Version: 1.0
719b13
Content-Type: text/plain; charset=UTF-8
719b13
Content-Transfer-Encoding: 8bit
719b13
719b13
RH-Author: Cindy Lu <lulu@redhat.com>
719b13
RH-MergeRequest: 203: vdpa :sync the Multiqueue fixes for vhost-vDPA
719b13
RH-Commit: [6/7] 9ab7ee150e1876a170b56db36e94a5b3bbf09535
719b13
RH-Bugzilla: 2095794
719b13
RH-Acked-by: MST <mst@redhat.com>
719b13
RH-Acked-by: Eugenio PĂ©rez <eperezma@redhat.com>
719b13
RH-Acked-by: Jason Wang <jasowang@redhat.com>
719b13
719b13
The name vhost_vdpa_one_time_request() was confusing. No
719b13
matter whatever it returns, its typical occurrence had
719b13
always been at requests that only need to be applied once.
719b13
And the name didn't suggest what it actually checks for.
719b13
Change it to vhost_vdpa_first_dev() with polarity flipped
719b13
for better readibility of code. That way it is able to
719b13
reflect what the check is really about.
719b13
719b13
This call is applicable to request which performs operation
719b13
only once, before queues are set up, and usually at the beginning
719b13
of the caller function. Document the requirement for it in place.
719b13
719b13
Signed-off-by: Si-Wei Liu <si-wei.liu@oracle.com>
719b13
Message-Id: <1651890498-24478-7-git-send-email-si-wei.liu@oracle.com>
719b13
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
719b13
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
719b13
Reviewed-by: Stefano Garzarella <sgarzare@redhat.com>
719b13
Acked-by: Jason Wang <jasowang@redhat.com>
719b13
(cherry picked from commit d71b0609fc04217e28d17009f04d74b08be6f466)
719b13
Signed-off-by: Cindy Lu <lulu@redhat.com>
719b13
---
719b13
 hw/virtio/vhost-vdpa.c | 23 +++++++++++++++--------
719b13
 1 file changed, 15 insertions(+), 8 deletions(-)
719b13
719b13
diff --git a/hw/virtio/vhost-vdpa.c b/hw/virtio/vhost-vdpa.c
719b13
index a9be24776a..38bbcb3c18 100644
719b13
--- a/hw/virtio/vhost-vdpa.c
719b13
+++ b/hw/virtio/vhost-vdpa.c
719b13
@@ -319,11 +319,18 @@ static void vhost_vdpa_get_iova_range(struct vhost_vdpa *v)
719b13
                                     v->iova_range.last);
719b13
 }
719b13
 
719b13
-static bool vhost_vdpa_one_time_request(struct vhost_dev *dev)
719b13
+/*
719b13
+ * The use of this function is for requests that only need to be
719b13
+ * applied once. Typically such request occurs at the beginning
719b13
+ * of operation, and before setting up queues. It should not be
719b13
+ * used for request that performs operation until all queues are
719b13
+ * set, which would need to check dev->vq_index_end instead.
719b13
+ */
719b13
+static bool vhost_vdpa_first_dev(struct vhost_dev *dev)
719b13
 {
719b13
     struct vhost_vdpa *v = dev->opaque;
719b13
 
719b13
-    return v->index != 0;
719b13
+    return v->index == 0;
719b13
 }
719b13
 
719b13
 static int vhost_vdpa_init(struct vhost_dev *dev, void *opaque, Error **errp)
719b13
@@ -351,7 +358,7 @@ static int vhost_vdpa_init(struct vhost_dev *dev, void *opaque, Error **errp)
719b13
 
719b13
     vhost_vdpa_get_iova_range(v);
719b13
 
719b13
-    if (vhost_vdpa_one_time_request(dev)) {
719b13
+    if (!vhost_vdpa_first_dev(dev)) {
719b13
         return 0;
719b13
     }
719b13
 
719b13
@@ -468,7 +475,7 @@ static int vhost_vdpa_memslots_limit(struct vhost_dev *dev)
719b13
 static int vhost_vdpa_set_mem_table(struct vhost_dev *dev,
719b13
                                     struct vhost_memory *mem)
719b13
 {
719b13
-    if (vhost_vdpa_one_time_request(dev)) {
719b13
+    if (!vhost_vdpa_first_dev(dev)) {
719b13
         return 0;
719b13
     }
719b13
 
719b13
@@ -496,7 +503,7 @@ static int vhost_vdpa_set_features(struct vhost_dev *dev,
719b13
 {
719b13
     int ret;
719b13
 
719b13
-    if (vhost_vdpa_one_time_request(dev)) {
719b13
+    if (!vhost_vdpa_first_dev(dev)) {
719b13
         return 0;
719b13
     }
719b13
 
719b13
@@ -525,7 +532,7 @@ static int vhost_vdpa_set_backend_cap(struct vhost_dev *dev)
719b13
 
719b13
     features &= f;
719b13
 
719b13
-    if (!vhost_vdpa_one_time_request(dev)) {
719b13
+    if (vhost_vdpa_first_dev(dev)) {
719b13
         r = vhost_vdpa_call(dev, VHOST_SET_BACKEND_FEATURES, &features);
719b13
         if (r) {
719b13
             return -EFAULT;
719b13
@@ -670,7 +677,7 @@ static int vhost_vdpa_dev_start(struct vhost_dev *dev, bool started)
719b13
 static int vhost_vdpa_set_log_base(struct vhost_dev *dev, uint64_t base,
719b13
                                      struct vhost_log *log)
719b13
 {
719b13
-    if (vhost_vdpa_one_time_request(dev)) {
719b13
+    if (!vhost_vdpa_first_dev(dev)) {
719b13
         return 0;
719b13
     }
719b13
 
719b13
@@ -739,7 +746,7 @@ static int vhost_vdpa_get_features(struct vhost_dev *dev,
719b13
 
719b13
 static int vhost_vdpa_set_owner(struct vhost_dev *dev)
719b13
 {
719b13
-    if (vhost_vdpa_one_time_request(dev)) {
719b13
+    if (!vhost_vdpa_first_dev(dev)) {
719b13
         return 0;
719b13
     }
719b13
 
719b13
-- 
719b13
2.31.1
719b13