scsi: storvsc: Spread interrupts when picking a channel for I/O requests
authorMichael Kelley (EOSG) <Michael.H.Kelley@microsoft.com>
Wed, 24 Jan 2018 22:14:08 +0000 (22:14 +0000)
committerMartin K. Petersen <martin.petersen@oracle.com>
Thu, 22 Feb 2018 03:30:40 +0000 (22:30 -0500)
commit9cfad4a5f4f795715c8657fb7dc22574a6046327
tree08f6d2f014c10bd27510c79dccf346f89ca3cc57
parent9ff97fa8db94caeab59a3c5401e975df468b4d8e
scsi: storvsc: Spread interrupts when picking a channel for I/O requests

Update the algorithm in storvsc_do_io to look for a channel
starting with the current CPU + 1 and wrap around (within the
current NUMA node). This spreads VMbus interrupts more evenly
across CPUs. Previous code always started with first CPU in
the current NUMA node, skewing the interrupt load to that CPU.

Signed-off-by: Michael Kelley <mikelley@microsoft.com>
Reviewed-by: Long Li <longli@microsoft.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/scsi/storvsc_drv.c