[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Mon, 11 Nov 2019 14:02:27 +0000
From: John Garry <john.garry@...wei.com>
To: Ming Lei <ming.lei@...hat.com>
CC: <jejb@...ux.vnet.ibm.com>, <martin.petersen@...cle.com>,
<linux-scsi@...r.kernel.org>, <linuxarm@...wei.com>,
<linux-kernel@...r.kernel.org>, <hare@...e.com>
Subject: Re: [PATCH 6/6] scsi: hisi_sas: Expose multiple hw queues for v3 as
experimental
On 27/10/2019 08:19, Ming Lei wrote:
>> .this_id = -1,
>> @@ -3265,8 +3300,14 @@ hisi_sas_v3_probe(struct pci_dev *pdev, const struct pci_device_id *id)
>> shost->max_lun = ~0;
>> shost->max_channel = 1;
>> shost->max_cmd_len = 16;
>> - shost->can_queue = HISI_SAS_UNRESERVED_IPTT;
>> - shost->cmd_per_lun = HISI_SAS_UNRESERVED_IPTT;
>> +
Hi Ming,
I mentioned in the thread "blk-mq: improvement on handling IO during CPU
hotplug" that I was using this series to test that patchset.
So just with this patchset (and without yours), I get what looks like
some IO errors in the LLDD. The error is an underflow error. I can't
figure out what is the cause.
I'm wondering if the SCSI command is getting corrupted someway.
>> + if (expose_mq_experimental) {
>> + shost->can_queue = HISI_SAS_MAX_COMMANDS;
>> + shost->cmd_per_lun = HISI_SAS_MAX_COMMANDS;
> The above is contradictory with current 'nr_hw_queues''s meaning,
> see commit on Scsi_Host.nr_hw_queues.
>
Right, so I am generating the hostwide tag in the LLDD. And the Scsi
host-wide host_busy counter should ensure that we don't pump too much IO
to the HBA.
What other problem will this cause?
Thanks,
John
>
> /*
> * In scsi-mq mode, the number of hardware queues supported by the LLD.
> *
> * Note: it is assumed that each hardware queue has a queue depth of
> * can_queue. In other words, the total queue depth per host
> * is nr_hw_queues * can_queue.
> */
>
> Also this implementation wastes memory too much.
>
>
> thanks,
> Ming
Powered by blists - more mailing lists