xen/22326-cpu-pools-numa-placement.patch
Charles Arnold 0c76f22ef1 - Update to Xen 4.0.2 rc2-pre, changeset 21443
- bnc#633573 - System fail to boot after running several warm
  reboot tests
  22749-vtd-workarounds.patch
- Upstream patches from Jan
  22744-ept-pod-locking.patch
  22777-vtd-ats-fixes.patch
  22781-pod-hap-logdirty.patch
  22782-x86-emul-smsw.patch
  22789-i386-no-x2apic.patch
  22790-svm-resume-migrate-pirqs.patch
  22816-x86-pirq-drop-priv-check.patch

OBS-URL: https://build.opensuse.org/package/show/Virtualization/xen?expand=0&rev=94
2011-02-04 21:19:54 +00:00

44 lines
1.9 KiB
Diff

# HG changeset patch
# User Juergen Gross <juergen.gross@ts.fujitsu.com>
# Date 1288264929 -3600
# Node ID dc66c13a29f9af67e0258f688bcd6330cf515383
# Parent 4ac03710fc320e8f76014ca27849da03b85dff9d
avoid numa placement of cpus with active cpupools
When using cpupools don't pin vcpus to numa nodes as this might
conflict with the cpupool definition.
numa placement should be handled by cpupool configuration instead.
Signed-off-by: Juergen Gross <juergen.gross@ts.fujitsu.com>
Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
Index: xen-4.0.2-testing/tools/python/xen/xend/XendCPUPool.py
===================================================================
--- xen-4.0.2-testing.orig/tools/python/xen/xend/XendCPUPool.py
+++ xen-4.0.2-testing/tools/python/xen/xend/XendCPUPool.py
@@ -881,6 +881,11 @@ class XendCPUPool(XendBase):
lookup_pool = classmethod(lookup_pool)
+ def number_of_pools(cls):
+ return len(xc.cpupool_getinfo())
+
+ number_of_pools = classmethod(number_of_pools)
+
def _cpu_number_to_ref(cls, number):
node = XendNode.instance()
for cpu_ref in node.get_host_cpu_refs():
Index: xen-4.0.2-testing/tools/python/xen/xend/XendDomainInfo.py
===================================================================
--- xen-4.0.2-testing.orig/tools/python/xen/xend/XendDomainInfo.py
+++ xen-4.0.2-testing/tools/python/xen/xend/XendDomainInfo.py
@@ -2790,7 +2790,7 @@ class XendDomainInfo:
return map(lambda x: x[0], sorted(enumerate(nodeload), key=lambda x:x[1]))
info = xc.physinfo()
- if info['nr_nodes'] > 1:
+ if info['nr_nodes'] > 1 and XendCPUPool.number_of_pools() < 2:
node_memory_list = info['node_to_memory']
needmem = self.image.getRequiredAvailableMemory(self.info['memory_dynamic_max']) / 1024
candidate_node_list = []