Drivers: hv: Introduce a policy for controlling channel affinity
authorK. Y. Srinivasan <kys@exchange.microsoft.com>
Fri, 2 Sep 2016 12:58:23 +0000 (05:58 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 2 Sep 2016 15:22:51 +0000 (17:22 +0200)
commit509879bdb30b8e12bd0b3cb0bc8429f01478df4b
treea2e9e25f47bec693795bd9493bdcce91bd61e38f
parentbb08d431a914984dee278e0e0482a2e6d620a482
Drivers: hv: Introduce a policy for controlling channel affinity

Introduce a mechanism to control how channels will be affinitized. We will
support two policies:

1. HV_BALANCED: All performance critical channels will be dstributed
evenly amongst all the available NUMA nodes. Once the Node is assigned,
we will assign the CPU based on a simple round robin scheme.

2. HV_LOCALIZED: Only the primary channels are distributed across all
NUMA nodes. Sub-channels will be in the same NUMA node as the primary
channel. This is the current behaviour.

The default policy will be the HV_BALANCED as it can minimize the remote
memory access on NUMA machines with applications that span NUMA nodes.

Signed-off-by: K. Y. Srinivasan <kys@microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/hv/channel_mgmt.c
include/linux/hyperv.h