IB/qib: Add logic for affinity hint
authorMike Marciniszyn <mike.marciniszyn@qlogic.com>
Sun, 26 Feb 2012 01:45:49 +0000 (17:45 -0800)
committerRoland Dreier <roland@purestorage.com>
Sun, 26 Feb 2012 01:45:49 +0000 (17:45 -0800)
commita778f3fddc6fc2ed4c065f6e160d517a5959f949
treeac024b855f69f9f512458b8a0e8e4a4cf7b9f1c7
parent6b21d18ed50c7d145220b0724ea7f2613abf0f95
IB/qib: Add logic for affinity hint

Call irq_set_affinity_hint() to give userspace programs such as
irqbalance the information to be able to distribute qib interrupts
appropriately.

The logic allocates all non-receive interrupts to the first CPU local
to the HCA.  Receive interrupts are allocated round robin starting
with the second CPU local to the HCA with potential wrap back to the
second CPU.

This patch also adds a refinement to the name registered for MSI-X
interrupts so that user level scripts can determine the device
associated with the IRQs when there are multiple HCAs with a
potentially different set of local CPUs.

Signed-off-by: Mike Marciniszyn <mike.marciniszyn@qlogic.com>
Signed-off-by: Roland Dreier <roland@purestorage.com>
drivers/infiniband/hw/qib/qib.h
drivers/infiniband/hw/qib/qib_iba7322.c
drivers/infiniband/hw/qib/qib_pcie.c