]> git.baikalelectronics.ru Git - kernel.git/commit
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)
commited4435a2e21672cec3775ddd8d9f4b163decd207
tree9e7db0765d120ddff741db3cf9a4c90f849f1c23
parentd8eb73a8730255862c08d2cc2b505da917b5585c
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