diff options
author | Xiang Chen <[email protected]> | 2020-12-07 21:30:55 +0800 |
---|---|---|
committer | Martin K. Petersen <[email protected]> | 2020-12-07 21:23:51 -0500 |
commit | 359db63378eded1ee9c8c9ad72245f9b0158ae95 (patch) | |
tree | f830785e23b6a718b8d7fb95e00c73d1f1a3f1ed /drivers/platform/surface/aggregator/ssh_parser.c | |
parent | 673235f915318ced5d7ec4b2bfd8cb909e6a4a55 (diff) |
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/[email protected]/T/#m7d77d049b18f33a24ef206af69ebb66d07440556
Link: https://lore.kernel.org/r/[email protected]
Fixes: 8d98416a55eb ("scsi: hisi_sas: Switch v3 hw to MQ")
Signed-off-by: Xiang Chen <[email protected]>
Signed-off-by: John Garry <[email protected]>
Signed-off-by: Martin K. Petersen <[email protected]>
Diffstat (limited to 'drivers/platform/surface/aggregator/ssh_parser.c')
0 files changed, 0 insertions, 0 deletions