Skip to contentSkip to conversation

xend: fix vcpu related items

PATCH RESEND Applied Ryan Harper 2 participants 2 messages Nov 8, 2005 – Nov 15, 2005

lore
Share & tools
lore
#0 lore raw

PATCH RESEND 2/2 xend: fix vcpu related items

Resending, rediffed against changeset: 7701:abbe3df33774

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.

Signature · 47 lines
Ryan Harper
Software Engineer; Linux Technology Center
IBM Corp., Austin, Tx
(512) 838-9253   T/L: 678-9253
[email protected]


diffstat output:
 XendDomainInfo.py |   15 +++++++++++----
 1 files changed, 11 insertions(+), 4 deletions(-)

Signed-off-by: Ryan Harper <[email protected]>
---
# HG changeset patch
# User [email protected]
# Node ID 7c7da438dee9c9c23ae798837cf72f4ea2cdb7d4
# Parent  8780650bc95865aeea69f89511ce9b1be9dad82c
fix dom0 vcpu related items.

diff -r 8780650bc958 -r 7c7da438dee9 tools/python/xen/xend/XendDomainInfo.py
--- a/tools/python/xen/xend/XendDomainInfo.py	Tue Nov  8 22:37:05 2005
+++ b/tools/python/xen/xend/XendDomainInfo.py	Tue Nov  8 22:37:21 2005
@@ -427,13 +427,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: [])
Applied
#1 lore raw
Quoted 6 lines · Ryan Harper

Resending, rediffed against changeset: 7701:abbe3df33774

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.

Applied, thanks.

Ewan.