This patch fixes dom0 SMP vcpu hotplug. Currently, domains without
config files (e.g. dom0) don''t set info[''vcpus'']
correctly resulting in
incorrect cpu availablity values in the store. This prevents hotplug
from functioning.
--
Ryan Harper
Software Engineer; Linux Technology Center
IBM Corp., Austin, Tx
(512) 838-9253 T/L: 678-9253
ryanh@us.ibm.com
diffstat output:
XendDomainInfo.py | 15 +++++++++++----
1 files changed, 11 insertions(+), 4 deletions(-)
Signed-off-by: Ryan Harper <ryanh@us.ibm.com>
---
diff -r 46f4f1eb70ca tools/python/xen/xend/XendDomainInfo.py
--- a/tools/python/xen/xend/XendDomainInfo.py Fri Nov 4 21:27:11 2005
+++ b/tools/python/xen/xend/XendDomainInfo.py Fri Nov 4 16:13:22 2005
@@ -425,13 +425,20 @@
defaultInfo(''on_crash'', lambda:
"restart")
defaultInfo(''cpu'', lambda: None)
defaultInfo(''cpu_weight'', lambda: 1.0)
- defaultInfo(''vcpus'', lambda: int(1))
+
+ # some domains don''t have a config file (e.g. dom0 )
+ # to set number of vcpus so we derive available cpus
+ # from max_vcpu_id which is present for running domains.
+ if not self.infoIsSet(''vcpus'') and
self.infoIsSet(''max_vcpu_id''):
+ avail = int(self.info[''max_vcpu_id''])+1
+ else:
+ avail = int(1)
+
+ defaultInfo(''vcpus'', lambda: avail)
defaultInfo(''online_vcpus'', lambda:
self.info[''vcpus''])
-
- self.info[''vcpus''] =
int(self.info[''vcpus''])
defaultInfo(''max_vcpu_id'', lambda:
self.info[''vcpus'']-1)
-
defaultInfo(''vcpu_avail'', lambda: (1 <<
self.info[''vcpus'']) - 1)
+
defaultInfo(''bootloader'', lambda: None)
defaultInfo(''backend'', lambda: [])
defaultInfo(''device'', lambda: [])
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xensource.com
http://lists.xensource.com/xen-devel