On 7/2/25 18:33, Daniel Wagner wrote:
Ensure that IRQ affinity setup also respects the queue-to-CPU mapping constraints provided by the block layer. This allows the SCSI drivers to avoid assigning interrupts to CPUs that the block layer has excluded (e.g., isolated CPUs). Signed-off-by: Daniel Wagner <wagi@xxxxxxxxxx> --- drivers/scsi/fnic/fnic_isr.c | 7 +++++-- drivers/scsi/hisi_sas/hisi_sas_v3_hw.c | 1 + drivers/scsi/megaraid/megaraid_sas_base.c | 5 ++++- drivers/scsi/mpi3mr/mpi3mr_fw.c | 6 +++++- drivers/scsi/mpt3sas/mpt3sas_base.c | 5 ++++- drivers/scsi/pm8001/pm8001_init.c | 1 + drivers/scsi/qla2xxx/qla_isr.c | 1 + drivers/scsi/smartpqi/smartpqi_init.c | 7 +++++-- 8 files changed, 26 insertions(+), 7 deletions(-)
> All of these drivers are not aware of CPU hotplug, and as such will not be notified when the number of CPUs changes. But you use 'blk_mq_online_queue_affinity()' for all of these drivers. Wouldn't 'blk_mq_possible_queue_affinit()' a better choice here to insulate against CPU hotplug effects? Also some drivers which are using irq affinity (eg aacraid, lpfc) are missing from these conversions. Why? Cheers, Hannes -- Dr. Hannes Reinecke Kernel Storage Architect hare@xxxxxxx +49 911 74053 688 SUSE Software Solutions GmbH, Frankenstr. 146, 90461 Nürnberg HRB 36809 (AG Nürnberg), GF: I. Totev, A. McDonald, W. Knoblich