Message ID | 1605223150-10888-4-git-send-email-michael.christie@oracle.com (mailing list archive) |
---|---|
State | Not Applicable |
Headers | show |
Series | vhost/qemu: thread per IO SCSI vq | expand |
On Thu, Nov 12, 2020 at 05:19:02PM -0600, Mike Christie wrote: > The vhost work flush function was flushing the entire work queue, so > there is no need for the double vhost_work_dev_flush calls in > vhost_scsi_flush. > > And we do not need to call vhost_poll_flush for each poller because > that call also ends up flushing the same work queue thread the > vhost_work_dev_flush call flushed. > > Signed-off-by: Mike Christie <michael.christie@oracle.com> > --- > drivers/vhost/scsi.c | 8 -------- > 1 file changed, 8 deletions(-) Ah, this was done as a separate step: Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
diff --git a/drivers/vhost/scsi.c b/drivers/vhost/scsi.c index 8795fd3..4725a08 100644 --- a/drivers/vhost/scsi.c +++ b/drivers/vhost/scsi.c @@ -1443,11 +1443,6 @@ static void vhost_scsi_handle_kick(struct vhost_work *work) vhost_scsi_handle_vq(vs, vq); } -static void vhost_scsi_flush_vq(struct vhost_scsi *vs, int index) -{ - vhost_poll_flush(&vs->vqs[index].vq.poll); -} - /* Callers must hold dev mutex */ static void vhost_scsi_flush(struct vhost_scsi *vs) { @@ -1466,9 +1461,6 @@ static void vhost_scsi_flush(struct vhost_scsi *vs) kref_put(&old_inflight[i]->kref, vhost_scsi_done_inflight); /* Flush both the vhost poll and vhost work */ - for (i = 0; i < VHOST_SCSI_MAX_VQ; i++) - vhost_scsi_flush_vq(vs, i); - vhost_work_dev_flush(&vs->dev); vhost_work_dev_flush(&vs->dev); /* Wait for all reqs issued before the flush to be finished */
The vhost work flush function was flushing the entire work queue, so there is no need for the double vhost_work_dev_flush calls in vhost_scsi_flush. And we do not need to call vhost_poll_flush for each poller because that call also ends up flushing the same work queue thread the vhost_work_dev_flush call flushed. Signed-off-by: Mike Christie <michael.christie@oracle.com> --- drivers/vhost/scsi.c | 8 -------- 1 file changed, 8 deletions(-)