IB/qib: Add dual-rail NUMA awareness for PSM processes
authorRamkrishna Vepa <ramkrishna.vepa@intel.com>
Sun, 2 Jun 2013 19:16:11 +0000 (15:16 -0400)
committerRoland Dreier <roland@purestorage.com>
Sat, 22 Jun 2013 00:19:49 +0000 (17:19 -0700)
commitc804f07248895ff9c9dccb6cda703068a0657b6c
tree9e7db0765d120ddff741db3cf9a4c90f849f1c23
parente0f30baca1ebe5547f6760f760b8c4e189fc1203
IB/qib: Add dual-rail NUMA awareness for PSM processes

The driver currently selects a HCA based on the algorithm that PSM
chooses, contexts within a HCA or across. The HCA can also be chosen
by the user. Either way, this patch assigns a CPU on the NUMA node
local to the selected HCA. This patch also tries to select the HCA
closest to the NUMA node of the CPU assigned via taskset to PSM
process. If this HCA is unusable then another unit is selected based
on the algorithm that is currently enforced or selected by PSM - round
robin context selection 'within' or 'across' HCA's.

Fixed a bug wherein contexts are setup on the NUMA node on which the
processes are opened (setup_ctxt()) and not on the NUMA node that the
driver recommends the CPU on.

Reviewed-by: Mike Marciniszyn <mike.marciniszyn@intel.com>
Signed-off-by: Vinit Agnihotri <vinit.abhay.agnihotri@intel.com>
Signed-off-by: Ramkrishna Vepa <ramkrishna.vepa@intel.com>
Signed-off-by: Roland Dreier <roland@purestorage.com>
drivers/infiniband/hw/qib/qib_file_ops.c
This page took 0.02708 seconds and 5 git commands to generate.