linux/drivers/scsi/megaraid
Ming Lei adbe552349 scsi: megaraid_sas: fix selection of reply queue
Since commit 84676c1f21 ("genirq/affinity: assign vectors to all
possible CPUs") we could end up with an MSI-X vector that did not have
any online CPUs mapped. This would lead to I/O hangs since there was no
CPU to receive the completion.

Retrieve IRQ affinity information using pci_irq_get_affinity() and use
this mapping to choose a reply queue.

[mkp: tweaked commit desc]

Cc: Hannes Reinecke <hare@suse.de>
Cc: "Martin K. Petersen" <martin.petersen@oracle.com>,
Cc: James Bottomley <james.bottomley@hansenpartnership.com>,
Cc: Christoph Hellwig <hch@lst.de>,
Cc: Don Brace <don.brace@microsemi.com>
Cc: Kashyap Desai <kashyap.desai@broadcom.com>
Cc: Laurence Oberman <loberman@redhat.com>
Cc: Mike Snitzer <snitzer@redhat.com>
Cc: Meelis Roos <mroos@linux.ee>
Cc: Artem Bityutskiy <artem.bityutskiy@intel.com>
Fixes: 84676c1f21 ("genirq/affinity: assign vectors to all possible CPUs")
Signed-off-by: Ming Lei <ming.lei@redhat.com>
Acked-by: Kashyap Desai <kashyap.desai@broadcom.com>
Tested-by: Kashyap Desai <kashyap.desai@broadcom.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Tested-by: Artem Bityutskiy <artem.bityutskiy@intel.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
2018-03-14 23:31:13 -04:00
..
Kconfig.megaraid
Makefile License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
mbox_defs.h
mega_common.h scsi: use 64-bit LUNs 2014-07-17 22:07:37 +02:00
megaraid_ioctl.h scsi: megaraid: Convert timers to use timer_setup() 2017-11-01 11:27:08 -07:00
megaraid_mbox.c scsi: megaraid: Convert timers to use timer_setup() 2017-11-01 11:27:08 -07:00
megaraid_mbox.h
megaraid_mm.c scsi: megaraid: Convert timers to use timer_setup() 2017-11-01 11:27:08 -07:00
megaraid_mm.h Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
megaraid_sas_base.c scsi: megaraid_sas: fix selection of reply queue 2018-03-14 23:31:13 -04:00
megaraid_sas_fp.c scsi: megaraid_sas: Update LD map after populating drv_map driver map copy 2018-01-10 23:25:17 -05:00
megaraid_sas_fusion.c scsi: megaraid_sas: fix selection of reply queue 2018-03-14 23:31:13 -04:00
megaraid_sas_fusion.h scsi: megaraid_sas: re-work DCMD refire code 2018-01-10 23:25:19 -05:00
megaraid_sas.h scsi: megaraid_sas: fix selection of reply queue 2018-03-14 23:31:13 -04:00