linux/drivers/scsi/hisi_sas
Xiang Chen 359db63378 scsi: hisi_sas: Select a suitable queue for internal I/Os
For when managed interrupts are used (and shost->nr_hw_queues is set), a
fixed queue - set per-device - is still used for internal I/Os.

If all the CPUs mapped to that queue are offlined, then the completions for
that queue are not serviced and any internal I/Os will time out.

Fix by selecting a queue for internal I/Os from the queue mapped from the
current CPU in this scenario.

This is still not ideal as it does not deal with CPU hotplug for inflight
internal I/Os, and needs proper support from [0].

[0] https://lore.kernel.org/linux-scsi/20200703130122.111448-1-hare@suse.de/T/#m7d77d049b18f33a24ef206af69ebb66d07440556

Link: https://lore.kernel.org/r/1607347855-59091-1-git-send-email-john.garry@huawei.com
Fixes: 8d98416a55 ("scsi: hisi_sas: Switch v3 hw to MQ")
Signed-off-by: Xiang Chen <chenxiang66@hisilicon.com>
Signed-off-by: John Garry <john.garry@huawei.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
2020-12-07 21:23:51 -05:00
..
hisi_sas_main.c scsi: hisi_sas: Select a suitable queue for internal I/Os 2020-12-07 21:23:51 -05:00
hisi_sas_v1_hw.c scsi: hisi_sas: Add missing newlines 2020-09-02 22:49:08 -04:00
hisi_sas_v2_hw.c scsi: hisi_sas: Code style cleanup 2020-09-02 22:49:08 -04:00
hisi_sas_v3_hw.c scsi: hisi_sas: Select a suitable queue for internal I/Os 2020-12-07 21:23:51 -05:00
hisi_sas.h SCSI misc on 20201013 2020-10-14 15:15:35 -07:00
Kconfig scsi: hisi_sas: Add check for methods _PS0 and _PR0 2020-10-06 20:47:06 -04:00
Makefile treewide: Add SPDX license identifier - Makefile/Kconfig 2019-05-21 10:50:46 +02:00