RE: [PATCH V4 01/31] smartpqi: use host wide tagspace
From: <Don.Brace@microchip.com>
Date: 2021-03-11 14:29:15
-----Original Message----- From: John Garry [mailto:john.garry@huawei.com] Subject: Re: [PATCH V4 01/31] smartpqi: use host wide tagspace On 10/03/2021 20:00, Don Brace wrote:
Correct scsi-mid-layer sending more requests than exposed host Q depth causing firmware ASSERT and lockup issue by enabling host wide tags and setting nr_hw_queues to 1. Note: this also results in better performance. Suggested-by: Ming Lei <redacted> Suggested-by: John Gary <redacted>
misspelled name Don: Sorry John, corrected in V5
quoted hunk ↗ jump to hunk
Reviewed-by: Scott Benesh <redacted> Reviewed-by: Scott Teel <redacted> Reviewed-by: Kevin Barnett <redacted> Signed-off-by: Don Brace <don.brace@microchip.com> --- drivers/scsi/smartpqi/smartpqi_init.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)diff --git a/drivers/scsi/smartpqi/smartpqi_init.cb/drivers/scsi/smartpqi/smartpqi_init.c index c53f456fbd09..c154e4578e55 100644--- a/drivers/scsi/smartpqi/smartpqi_init.c +++ b/drivers/scsi/smartpqi/smartpqi_init.c@@ -6598,7 +6598,8 @@ static int pqi_register_scsi(struct pqi_ctrl_info *ctrl_info) shost->transportt = pqi_sas_transport_template; shost->irq = pci_irq_vector(ctrl_info->pci_dev, 0); shost->unique_id = shost->irq; - shost->nr_hw_queues = ctrl_info->num_queue_groups; + shost->nr_hw_queues = 1; + shost->host_tagset = 1;
If nr_hw_queues = 1, then there is no point in setting host_tagset. Apart from that, I'm concerned with the issue mentioned here: https://lore.kernel.org/linux-scsi/4bff6232-6abd-dae8-c240-07a1a40178bf@huawei.com/ (local) Thanks, John Don: Thanks John, addressed in V5.
shost->hostdata[0] = (unsigned long)ctrl_info;
rc = scsi_add_host(shost, &ctrl_info->pci_dev->dev);
.