IB/qib: Optimize CQ callbacks
authorMike Marciniszyn <mike.marciniszyn@intel.com>
Tue, 4 Jun 2013 19:05:37 +0000 (15:05 -0400)
committerRoland Dreier <roland@purestorage.com>
Sat, 22 Jun 2013 00:19:49 +0000 (17:19 -0700)
commit85caafe307a06e4f9993c8f3c994a07374c07831
treec17964cc02d75f2bb6f827eed9daeec719b85d17
parentc804f07248895ff9c9dccb6cda703068a0657b6c
IB/qib: Optimize CQ callbacks

The current workqueue implemention has the following performance
deficiencies on QDR HCAs:

- The CQ call backs tend to run on the CPUs processing the
  receive queues
- The single thread queue isn't optimal for multiple HCAs

This patch adds a dedicated per HCA bound thread to process CQ callbacks.

Reviewed-by: Ramkrishna Vepa <ramkrishna.vepa@intel.com>
Signed-off-by: Mike Marciniszyn <mike.marciniszyn@intel.com>
Signed-off-by: Roland Dreier <roland@purestorage.com>
drivers/infiniband/hw/qib/qib.h
drivers/infiniband/hw/qib/qib_cq.c
drivers/infiniband/hw/qib/qib_init.c
drivers/infiniband/hw/qib/qib_verbs.h