On 6/11/20 5:07 AM, Bob Liu wrote:
This patch enable setting cpu affinity through "cpumask" for below
scsi/iscsi workqueues, so as to get better isolation.
- scsi_wq_*
- scsi_tmf_*
- iscsi_q_xx
- iscsi_eh

Signed-off-by: Bob Liu <bob....@oracle.com>
---
  drivers/scsi/hosts.c                | 4 ++--
  drivers/scsi/libiscsi.c             | 2 +-
  drivers/scsi/scsi_transport_iscsi.c | 2 +-
  3 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/drivers/scsi/hosts.c b/drivers/scsi/hosts.c
index 1d669e4..4b9f80d 100644
--- a/drivers/scsi/hosts.c
+++ b/drivers/scsi/hosts.c
@@ -272,7 +272,7 @@ int scsi_add_host_with_dma(struct Scsi_Host *shost, struct 
device *dev,
        if (shost->transportt->create_work_queue) {
                snprintf(shost->work_q_name, sizeof(shost->work_q_name),
                         "scsi_wq_%d", shost->host_no);
-               shost->work_q = create_singlethread_workqueue(
+               shost->work_q = create_singlethread_workqueue_noorder(
                                        shost->work_q_name);
                if (!shost->work_q) {
                        error = -EINVAL;

This patch seems ok for the iscsi, fc, tmf, and non transport class scan uses. We are either heavy handed with flushes or did not need ordering.

I don't know about the zfcp use though, so I cc'd the developers listed as maintainers. It looks like for zfcp we can do:

zfcp_scsi_rport_register->fc_remote_port_add->fc_remote_port_create->scsi_queue_work to scan the scsi target on the rport.

and then zfcp_scsi_rport_register can call zfcp_unit_queue_scsi_scan->
scsi_queue_work which will scan for a specific lun.

It looks ok if those are not ordered, but I would get their review to make sure.

Reply via email to