]> asedeno.scripts.mit.edu Git - linux.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)
commit4197344ba5c2aab24b96f141cb00af9d0471f60b
treeaa02fbe9ebd405cdeaa802180a867e16d8daf963
parent2b719046743d35b452f17956a5f19e1aa0fc3e8a
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