Change in vdsm[master]: numa: use defaultdict to simplify the code
fromani at redhat.com
fromani at redhat.com
Wed Jan 7 21:01:34 UTC 2015
Francesco Romani has uploaded a new change for review.
Change subject: numa: use defaultdict to simplify the code
......................................................................
numa: use defaultdict to simplify the code
Leverage defaultdict(set) instead of reinventing
it locally and partially, with no changes in logic.
Change-Id: I9c0ee4c4291f2bd5fe2fb639752ef8e46aecc6be
Signed-off-by: Francesco Romani <fromani at redhat.com>
---
M vdsm/numaUtils.py
1 file changed, 8 insertions(+), 9 deletions(-)
git pull ssh://gerrit.ovirt.org:29418/vdsm refs/changes/62/36662/1
diff --git a/vdsm/numaUtils.py b/vdsm/numaUtils.py
index c534209..ad2fde9 100644
--- a/vdsm/numaUtils.py
+++ b/vdsm/numaUtils.py
@@ -18,6 +18,8 @@
# Refer to the README and COPYING files for full details of the license
#
+from collections import defaultdict
+
import xml.etree.cElementTree as ET
import caps
@@ -72,22 +74,19 @@
vCpuToPnode = supervdsm.getProxy().getVcpuNumaMemoryMapping(
vm.conf['vmName'].encode('utf-8'))
+
pCpuToPnode = _getMappingPcpuToPnode()
vCpuToVnode = _getMappingVcpuToVnode(vm)
- nodeVtoP = {}
+ nodeVtoP = defaultdict(set)
for vCpu, pCpu in cpuVtoP.iteritems():
vNodeIndex = str(vCpuToVnode[vCpu])
- if vNodeIndex not in nodeVtoP:
- nodeVtoP[vNodeIndex] = []
+ nodeVtoP[vNodeIndex].add(pCpuToPnode[pCpu])
+ for pNode in vCpuToPnode.get(vCpu, ()):
+ nodeVtoP[vNodeIndex].add(pNode)
- nodeVtoP[vNodeIndex].append(pCpuToPnode[pCpu])
- if vCpu in vCpuToPnode:
- nodeVtoP[vNodeIndex].extend(
- vCpuToPnode[vCpu])
-
- return dict([(k, list(set(v))) for k, v in
+ return dict([(k, list(v)) for k, v in
nodeVtoP.iteritems()])
--
To view, visit http://gerrit.ovirt.org/36662
To unsubscribe, visit http://gerrit.ovirt.org/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I9c0ee4c4291f2bd5fe2fb639752ef8e46aecc6be
Gerrit-PatchSet: 1
Gerrit-Project: vdsm
Gerrit-Branch: master
Gerrit-Owner: Francesco Romani <fromani at redhat.com>
More information about the vdsm-patches
mailing list