xend: portability cleanup

Signed-off-by: Christoph Egger <Christoph.Egger@amd.com>
This commit is contained in:
Keir Fraser committed 2008-07-18 14:14:12 +01:00
1 parent 16519cc5e8
commit ce88683ac9
2 files changed
+30 -26

No files matched your search

+2 -26
View File
@@ -23,6 +23,7 @@ import xen.lowlevel.xc
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:
+28
View File
@@ -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 @@ xend_autorestart = _get(_xend_autorestart)
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)
Reference in new issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.