mirror of
https://github.com/xen-project/xen.git
synced 2026-10-28 18:21:39 +01:00
xend: NUMA: fix division by zero on unpopulated nodes
nodes without memory will currently be disabled by also moving the physical cores connected to them to other nodes. This leads to nodes without CPUs and thus to a division by zero in the node allocation algorithm. Attached patch fixes this by checking for 0 before the division. This fixes domain creation on boxes with memory-less nodes. Signed-off-by: Andre Przywara <andre.przywara@amd.com>
This commit is contained in:
1 parent
185c296921
commit
c9aa64e062
1 file changed
+5
-2
@@ -2709,9 +2709,12 @@ class XendDomainInfo:
|
||||
nodeload[i] += 1
|
||||
break
|
||||
for i in range(0, nr_nodes):
|
||||
nodeload[i] = int(nodeload[i] * 16 / len(info['node_to_cpu'][i]))
|
||||
if len(info['node_to_cpu'][i]) == 0 or i not in node_list:
|
||||
if len(info['node_to_cpu'][i]) == 0:
|
||||
nodeload[i] += 8
|
||||
else:
|
||||
nodeload[i] = int(nodeload[i] * 16 / len(info['node_to_cpu'][i]))
|
||||
if i not in node_list:
|
||||
nodeload[i] += 8
|
||||
return map(lambda x: x[0], sorted(enumerate(nodeload), key=lambda x:x[1]))
|
||||
|
||||
info = xc.physinfo()
|
||||
|
||||