]> git.karo-electronics.de Git - linux-beck.git/commit
mpt2sas, mpt3sas: set cpu affinity for each MSIX vectors
authorSreekanth Reddy <sreekanth.reddy@avagotech.com>
Mon, 12 Jan 2015 06:09:03 +0000 (11:39 +0530)
committerChristoph Hellwig <hch@lst.de>
Tue, 13 Jan 2015 15:27:28 +0000 (16:27 +0100)
commit14b3114d940cdc4fea8afdab8e23508361db027f
tree836a81b64136e75dbd002ea13e425928b9835b95
parenta03bd153b1b31c24b00d516bdbf9370ab8132650
mpt2sas, mpt3sas: set cpu affinity for each MSIX vectors

Added a support to set cpu affinity mask for each MSIX vector enabled
by the HBA. So that, running the irqbalancer will balance interrupts among
the cpus.

Change_set:
1. Added affinity_hint varable of type cpumask_var_t in adapter_reply_queue
   structure. And allocated a memory for this varable by calling
   alloc_cpumask_var.
2. Call the API irq_set_affinity_hint for each MSIx vector to affiniate it
   with calculated cpus at driver inilization time.
3. While freeing the MSIX vector, call this same API to release the cpu
   affinity mask for each MSIx vector by providing the NULL value in
   cpumask argument.
4. then call the free_cpumask_var API to free the memory allocated in step 2.

Signed-off-by: Sreekanth Reddy <Sreekanth.Reddy@avagotech.com>
Reviewed-by: Martin K. Petersen <martin.petersen@oracle.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
drivers/scsi/mpt2sas/mpt2sas_base.c
drivers/scsi/mpt2sas/mpt2sas_base.h
drivers/scsi/mpt3sas/mpt3sas_base.c
drivers/scsi/mpt3sas/mpt3sas_base.h