]> git.baikalelectronics.ru Git - kernel.git/commit
IB/hfi1: Add global structure for affinity assignments
authorDennis Dalessandro <dennis.dalessandro@intel.com>
Mon, 25 Jul 2016 14:52:36 +0000 (07:52 -0700)
committerDoug Ledford <dledford@redhat.com>
Tue, 2 Aug 2016 19:45:14 +0000 (15:45 -0400)
commitc0a4660a1ba6c6715a016711eda2dafe65eadacc
treeaa02fbe9ebd405cdeaa802180a867e16d8daf963
parent315b800d43448cd405188e0bd6815c8220370270
IB/hfi1: Add global structure for affinity assignments

When HFI units get initialized, they each use their own mask copy for
affinity assignments. On a multi-HFI system, affinity assignments
overbook CPU cores as each HFI doesn't have knowledge of affinity
assignments for other HFI units. Therefore, some CPU cores are never
used for interrupt handlers in systems with high number of CPU cores
per NUMA node.

For multi-HFI systems, SDMA engine interrupt assignments start all over
from the first CPU in the local NUMA node after the first HFI
initialization. This change allows assignments to continue where the
last HFI unit left off.

Add global structure for affinity assignments for multiple HFIs to share
affinity mask.

Reviewed-by: Jianxin Xiong <jianxin.xiong@intel.com>
Reviewed-by: Jubin John <jubin.john@intel.com>
Reviewed-by: Mike Marciniszyn <mike.marciniszyn@intel.com>
Signed-off-by: Sebastian Sanchez <sebastian.sanchez@intel.com>
Signed-off-by: Doug Ledford <dledford@redhat.com>
drivers/infiniband/hw/hfi1/affinity.c
drivers/infiniband/hw/hfi1/affinity.h
drivers/infiniband/hw/hfi1/chip.c
drivers/infiniband/hw/hfi1/init.c