diff options
author | K. Y. Srinivasan <kys@microsoft.com> | 2015-05-30 23:37:48 -0700 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2015-06-01 10:56:31 +0900 |
commit | 1f656ff3fdddc2f59649cc84b633b799908f1f7b (patch) | |
tree | 4e7745c67619831e1e626dc847fa79c6e28fa671 /include/linux/hyperv.h | |
parent | 9c6e64adf200d3bac0dd47d52cdbd3bd428384a5 (diff) | |
download | linux-1f656ff3fdddc2f59649cc84b633b799908f1f7b.tar.gz linux-1f656ff3fdddc2f59649cc84b633b799908f1f7b.tar.bz2 linux-1f656ff3fdddc2f59649cc84b633b799908f1f7b.zip |
Drivers: hv: vmbus: Implement NUMA aware CPU affinity for channels
Channels/sub-channels can be affinitized to VCPUs in the guest. Implement
this affinity in a way that is NUMA aware. The current protocol distributed
the primary channels uniformly across all available CPUs. The new protocol
is NUMA aware: primary channels are distributed across the available NUMA
nodes while the sub-channels within a primary channel are distributed amongst
CPUs within the NUMA node assigned to the primary channel.
Signed-off-by: K. Y. Srinivasan <kys@microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'include/linux/hyperv.h')
-rw-r--r-- | include/linux/hyperv.h | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/include/linux/hyperv.h b/include/linux/hyperv.h index 4317cd1b69ed..30d3a1f79450 100644 --- a/include/linux/hyperv.h +++ b/include/linux/hyperv.h @@ -697,6 +697,11 @@ struct vmbus_channel { /* The corresponding CPUID in the guest */ u32 target_cpu; /* + * State to manage the CPU affiliation of channels. + */ + struct cpumask alloced_cpus_in_node; + int numa_node; + /* * Support for sub-channels. For high performance devices, * it will be useful to have multiple sub-channels to support * a scalable communication infrastructure with the host. |