Skip to contentSkip to conversation

xend balloon: portability cleanup

PATCH New Christoph Egger 1 participant 1 message Jul 22, 2008

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 xend balloon: portability cleanup

Hi,

Attached patch moves the linux specific labels to osdep where it belongs to. Modification on Solaris code ok'd by SUN (Ryan Scott).

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/balloon.py +7 -7
diff -r 689d31301c67 tools/python/xen/xend/balloon.py
@@ -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_dom0_current_alloc():
 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_target_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
tools/python/xen/xend/osdep.py +12 -6
diff -r 689d31301c67 tools/python/xen/xend/osdep.py
@@ -41,12 +41,18 @@ def _linux_balloon_stat(label):
 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:

_______________________________________________
Xen-devel mailing list
[email protected]
http://lists.xensource.com/xen-devel