You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
78 lines
3.1 KiB
78 lines
3.1 KiB
2 years ago
|
From 975af1b9f1811e113e1babd928ae70f8e4ebefb5 Mon Sep 17 00:00:00 2001
|
||
|
From: Stefan Hajnoczi <stefanha@redhat.com>
|
||
|
Date: Tue, 17 May 2022 09:28:19 +0100
|
||
|
Subject: [PATCH 13/16] virtio-scsi: clean up virtio_scsi_handle_cmd_vq()
|
||
|
|
||
|
RH-Author: Stefan Hajnoczi <stefanha@redhat.com>
|
||
|
RH-MergeRequest: 88: virtio-scsi: fix 100% CPU consumption with IOThreads
|
||
|
RH-Commit: [5/6] 27b0225783fa9bbb8fe5ee692bd3f0a888d49d07 (stefanha/centos-stream-qemu-kvm)
|
||
|
RH-Bugzilla: 2079347
|
||
|
RH-Acked-by: Miroslav Rezanina <mrezanin@redhat.com>
|
||
|
RH-Acked-by: Kevin Wolf <kwolf@redhat.com>
|
||
|
RH-Acked-by: Stefano Garzarella <sgarzare@redhat.com>
|
||
|
|
||
|
virtio_scsi_handle_cmd_vq() is only called from hw/scsi/virtio-scsi.c
|
||
|
now and its return value is no longer used. Remove the function
|
||
|
prototype from virtio-scsi.h and drop the return value.
|
||
|
|
||
|
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
|
||
|
Reviewed-by: Paolo Bonzini <pbonzini@redhat.com>
|
||
|
Message-id: 20220427143541.119567-6-stefanha@redhat.com
|
||
|
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
|
||
|
(cherry picked from commit ad482b57ef841b2d4883c5079d20ba44ff5e4b3e)
|
||
|
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
|
||
|
---
|
||
|
hw/scsi/virtio-scsi.c | 5 +----
|
||
|
include/hw/virtio/virtio-scsi.h | 1 -
|
||
|
2 files changed, 1 insertion(+), 5 deletions(-)
|
||
|
|
||
|
diff --git a/hw/scsi/virtio-scsi.c b/hw/scsi/virtio-scsi.c
|
||
|
index a47033d91d..df5ff8bab7 100644
|
||
|
--- a/hw/scsi/virtio-scsi.c
|
||
|
+++ b/hw/scsi/virtio-scsi.c
|
||
|
@@ -685,12 +685,11 @@ static void virtio_scsi_handle_cmd_req_submit(VirtIOSCSI *s, VirtIOSCSIReq *req)
|
||
|
scsi_req_unref(sreq);
|
||
|
}
|
||
|
|
||
|
-bool virtio_scsi_handle_cmd_vq(VirtIOSCSI *s, VirtQueue *vq)
|
||
|
+static void virtio_scsi_handle_cmd_vq(VirtIOSCSI *s, VirtQueue *vq)
|
||
|
{
|
||
|
VirtIOSCSIReq *req, *next;
|
||
|
int ret = 0;
|
||
|
bool suppress_notifications = virtio_queue_get_notification(vq);
|
||
|
- bool progress = false;
|
||
|
|
||
|
QTAILQ_HEAD(, VirtIOSCSIReq) reqs = QTAILQ_HEAD_INITIALIZER(reqs);
|
||
|
|
||
|
@@ -700,7 +699,6 @@ bool virtio_scsi_handle_cmd_vq(VirtIOSCSI *s, VirtQueue *vq)
|
||
|
}
|
||
|
|
||
|
while ((req = virtio_scsi_pop_req(s, vq))) {
|
||
|
- progress = true;
|
||
|
ret = virtio_scsi_handle_cmd_req_prepare(s, req);
|
||
|
if (!ret) {
|
||
|
QTAILQ_INSERT_TAIL(&reqs, req, next);
|
||
|
@@ -725,7 +723,6 @@ bool virtio_scsi_handle_cmd_vq(VirtIOSCSI *s, VirtQueue *vq)
|
||
|
QTAILQ_FOREACH_SAFE(req, &reqs, next, next) {
|
||
|
virtio_scsi_handle_cmd_req_submit(s, req);
|
||
|
}
|
||
|
- return progress;
|
||
|
}
|
||
|
|
||
|
static void virtio_scsi_handle_cmd(VirtIODevice *vdev, VirtQueue *vq)
|
||
|
diff --git a/include/hw/virtio/virtio-scsi.h b/include/hw/virtio/virtio-scsi.h
|
||
|
index 44dc3b81ec..2497530064 100644
|
||
|
--- a/include/hw/virtio/virtio-scsi.h
|
||
|
+++ b/include/hw/virtio/virtio-scsi.h
|
||
|
@@ -151,7 +151,6 @@ void virtio_scsi_common_realize(DeviceState *dev,
|
||
|
Error **errp);
|
||
|
|
||
|
void virtio_scsi_common_unrealize(DeviceState *dev);
|
||
|
-bool virtio_scsi_handle_cmd_vq(VirtIOSCSI *s, VirtQueue *vq);
|
||
|
void virtio_scsi_init_req(VirtIOSCSI *s, VirtQueue *vq, VirtIOSCSIReq *req);
|
||
|
void virtio_scsi_free_req(VirtIOSCSIReq *req);
|
||
|
void virtio_scsi_push_event(VirtIOSCSI *s, SCSIDevice *dev,
|
||
|
--
|
||
|
2.31.1
|
||
|
|