summaryrefslogtreecommitdiffstats
path: root/include/linux/hyperv.h
diff options
context:
space:
mode:
authorK. Y. Srinivasan <kys@microsoft.com>2015-05-30 23:37:48 -0700
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2015-06-01 10:56:31 +0900
commit1f656ff3fdddc2f59649cc84b633b799908f1f7b (patch)
tree4e7745c67619831e1e626dc847fa79c6e28fa671 /include/linux/hyperv.h
parent9c6e64adf200d3bac0dd47d52cdbd3bd428384a5 (diff)
downloadlinux-stable-1f656ff3fdddc2f59649cc84b633b799908f1f7b.tar.gz
linux-stable-1f656ff3fdddc2f59649cc84b633b799908f1f7b.tar.bz2
linux-stable-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.h5
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.