xend balloon: portability cleanup

Move the linux specific labels to osdep where they
belong. Modification on Solaris code ok'd by SUN (Ryan Scott).

Signed-off-by: Christoph Egger <Christoph.Egger@amd.com>
This commit is contained in:
Keir Fraser committed 2008-07-22 11:55:06 +01:00
1 parent 0c9c2001df
commit 33b7b2161a
2 files changed
+19 -13

No files matched your search

+7 -7
View File
@@ -39,11 +39,11 @@ SLEEP_TIME_GROWTH = 0.1
# A mapping between easy-to-remember labels and the more verbose
# label actually shown in the PROC_XEN_BALLOON file.
labels = { 'current' : 'Current allocation',
'target' : 'Requested target',
'low-balloon' : 'Low-mem balloon',
'high-balloon' : 'High-mem balloon',
'limit' : 'Xen hard limit' }
#labels = { 'current' : 'Current allocation',
# 'target' : 'Requested target',
# 'low-balloon' : 'Low-mem balloon',
# 'high-balloon' : 'High-mem balloon',
# 'limit' : 'Xen hard limit' }
def _get_proc_balloon(label):
"""Returns the value for the named label. Returns None if the label was
@@ -54,7 +54,7 @@ def _get_proc_balloon(label):
def get_dom0_current_alloc():
"""Returns the current memory allocation (in KiB) of dom0."""
kb = _get_proc_balloon(labels['current'])
kb = _get_proc_balloon('current')
if kb == None:
raise VmError('Failed to query current memory allocation of dom0.')
return kb
@@ -62,7 +62,7 @@ def get_dom0_current_alloc():
def get_dom0_target_alloc():
"""Returns the target memory allocation (in KiB) of dom0."""
kb = _get_proc_balloon(labels['target'])
kb = _get_proc_balloon('target')
if kb == None:
raise VmError('Failed to query target memory allocation of dom0.')
return kb
+12 -6
View File
@@ -41,12 +41,18 @@ _vif_script = {
def _linux_balloon_stat(label):
"""Returns the value for the named label, or None if an error occurs."""
xend2linux_labels = { 'current' : 'Current allocation',
'target' : 'Requested target',
'low-balloon' : 'Low-mem balloon',
'high-balloon' : 'High-mem balloon',
'limit' : 'Xen hard limit' }
PROC_XEN_BALLOON = '/proc/xen/balloon'
f = file(PROC_XEN_BALLOON, 'r')
try:
for line in f:
keyvalue = line.split(':')
if keyvalue[0] == label:
if keyvalue[0] == xend2linux_labels[label]:
values = keyvalue[1].split()
if values[0].isdigit():
return int(values[0])
@@ -67,11 +73,11 @@ def _solaris_balloon_stat(label):
BLN_IOCTL_LOW = 0x42410003
BLN_IOCTL_HIGH = 0x42410004
BLN_IOCTL_LIMIT = 0x42410005
label_to_ioctl = { 'Current allocation' : BLN_IOCTL_CURRENT,
'Requested target' : BLN_IOCTL_TARGET,
'Low-mem balloon' : BLN_IOCTL_LOW,
'High-mem balloon' : BLN_IOCTL_HIGH,
'Xen hard limit' : BLN_IOCTL_LIMIT }
label_to_ioctl = { 'current' : BLN_IOCTL_CURRENT,
'target' : BLN_IOCTL_TARGET,
'low-balloon' : BLN_IOCTL_LOW,
'high-balloon' : BLN_IOCTL_HIGH,
'limit' : BLN_IOCTL_LIMIT }
f = file(DEV_XEN_BALLOON, 'r')
try:
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.