xend: portability cleanup
PATCH 1/1 xend: portability cleanup
Hi,
parse_proc_cpuinfo in xend is linux specific. Attached patch moves it into osdep.py where os specific functions belong to.
Signed-off-by Christoph Egger <[email protected]>
Signature · 12 lines
AMD Saxony, Dresden, Germany Operating System Research Center Legal Information: AMD Saxony Limited Liability Company & Co. KG Sitz (Geschäftsanschrift): Wilschdorfer Landstr. 101, 01109 Dresden, Deutschland Registergericht Dresden: HRA 4896 vertretungsberechtigter Komplementär: AMD Saxony LLC (Sitz Wilmington, Delaware, USA) Geschäftsführer der AMD Saxony LLC: Dr. Hans-R. Deppe, Thomas McCoy
tools/python/xen/xend/XendNode.py +2 -26
@@ -23,6 +23,7 @@ from xen.util import Brctl from xen.util import Brctl from xen.util import pci as PciUtil from xen.xend import XendAPIStore +from xen.xend import osdep import uuid, arch from XendPBD import XendPBD
@@ -91,7 +92,7 @@ class XendNode: for cpu_uuid, cpu in saved_cpus.items(): self.cpus[cpu_uuid] = cpu - cpuinfo = parse_proc_cpuinfo() + cpuinfo = osdep.get_cpuinfo() physinfo = self.physinfo_dict() cpu_count = physinfo['nr_cpus'] cpu_features = physinfo['hw_caps']
@@ -743,31 +744,6 @@ class XendNode: def info_dict(self): return dict(self.info()) -def parse_proc_cpuinfo(): - cpuinfo = {} - f = file('/proc/cpuinfo', 'r') - try: - p = -1 - d = {} - for line in f: - keyvalue = line.split(':') - if len(keyvalue) != 2: - continue - key = keyvalue[0].strip() - val = keyvalue[1].strip() - if key == 'processor': - if p != -1: - cpuinfo[p] = d - p = int(val) - d = {} - else: - d[key] = val - cpuinfo[p] = d - return cpuinfo - finally: - f.close() - - def instance(): global inst try:
tools/python/xen/xend/osdep.py +28 -0
@@ -87,6 +87,33 @@ _balloon_stat = { "SunOS": _solaris_balloon_stat } +def _linux_get_cpuinfo(): + cpuinfo = {} + f = file('/proc/cpuinfo', 'r') + try: + p = -1 + d = {} + for line in f: + keyvalue = line.split(':') + if len(keyvalue) != 2: + continue + key = keyvalue[0].strip() + val = keyvalue[1].strip() + if key == 'processor': + if p != -1: + cpuinfo[p] = d + p = int(val) + d = {} + else: + d[key] = val + cpuinfo[p] = d + return cpuinfo + finally: + f.close() + +_get_cpuinfo = { +} + def _get(var, default=None): return var.get(os.uname()[0], default)
@@ -95,3 +122,4 @@ pygrub_path = _get(_pygrub_path, "/usr/b pygrub_path = _get(_pygrub_path, "/usr/bin/pygrub") vif_script = _get(_vif_script, "vif-bridge") lookup_balloon_stat = _get(_balloon_stat, _linux_balloon_stat) +get_cpuinfo = _get(_get_cpuinfo, _linux_get_cpuinfo)
_______________________________________________
Xen-devel mailing list
[email protected]
http://lists.xensource.com/xen-devel