[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] [xen-unstable] xend: NUMA: fix division by zero on unpopulated nodes
# HG changeset patch # User Keir Fraser <keir.fraser@xxxxxxxxxx> # Date 1263751268 0 # Node ID 36c40adffe126f77bb661895c8a507112988c881 # Parent 8bbb0dd9a340a3ae7011b35945d496d4d1910818 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@xxxxxxx> --- tools/python/xen/xend/XendDomainInfo.py | 7 +++++-- 1 files changed, 5 insertions(+), 2 deletions(-) diff -r 8bbb0dd9a340 -r 36c40adffe12 tools/python/xen/xend/XendDomainInfo.py --- a/tools/python/xen/xend/XendDomainInfo.py Sun Jan 17 17:57:44 2010 +0000 +++ b/tools/python/xen/xend/XendDomainInfo.py Sun Jan 17 18:01:08 2010 +0000 @@ -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() _______________________________________________ Xen-changelog mailing list Xen-changelog@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-changelog
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |