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

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