Re: [PATCH v4 21/21] ibmvfc: provide modules parameters for MQ settings
From: Brian King <hidden>
Date: 2021-01-13 18:58:50
Also in:
linuxppc-dev, lkml
On 1/11/21 5:12 PM, Tyrel Datwyler wrote:
quoted hunk ↗ jump to hunk
@@ -5880,12 +5936,13 @@ static int ibmvfc_probe(struct vio_dev *vdev, const struct vio_device_id *id) shost->transportt = ibmvfc_transport_template; shost->can_queue = max_requests; + shost->can_queue = (max_requests / nr_scsi_hw_queues);
This looks to be in conflict with the fact that the first patch requested a shared tag set, right?
shost->max_lun = max_lun; shost->max_id = max_targets; shost->max_sectors = IBMVFC_MAX_SECTORS; shost->max_cmd_len = IBMVFC_MAX_CDB_LEN; shost->unique_id = shost->host_no; - shost->nr_hw_queues = IBMVFC_MQ ? IBMVFC_SCSI_HW_QUEUES : 1; + shost->nr_hw_queues = mq_enabled ? nr_scsi_hw_queues : 1;
You might want to range check this, to make sure its sane.
quoted hunk ↗ jump to hunk
vhost = shost_priv(shost); INIT_LIST_HEAD(&vhost->targets);@@ -5897,8 +5954,8 @@ static int ibmvfc_probe(struct vio_dev *vdev, const struct vio_device_id *id) vhost->log_level = log_level; vhost->task_set = 1; - vhost->mq_enabled = IBMVFC_MQ; - vhost->client_scsi_channels = IBMVFC_SCSI_CHANNELS; + vhost->mq_enabled = mq_enabled; + vhost->client_scsi_channels = min(nr_scsi_hw_queues, nr_scsi_channels); vhost->using_channels = 0; vhost->do_enquiry = 1;
-- Brian King Power Linux I/O IBM Linux Technology Center