Bug 177633

Summary: Virtual CPU hotplug does not work
Product: [Fedora] Fedora Reporter: Stephen Tweedie <sct>
Component: xenAssignee: James Morris <jmorris>
Status: CLOSED NOTABUG QA Contact:
Severity: medium Docs Contact:
Priority: medium    
Version: rawhideCC: katzj
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2006-03-22 16:41:17 EST Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Bug Depends On:    
Bug Blocks: 179599, 185595    

Description Stephen Tweedie 2006-01-12 11:01:57 EST
Description of problem:

Virtual CPU hotplug does not work; running

# xm vcpu-set guest1 2

against a domU "guest1" with 1 vcpu does not dynamically increase the vcpu
count.  And if I set the vcpus to 2 in /etc/xen/guest1 (which *does* work), then

# xm vcpu-set guest1 1

fails to lower it again.

Version-Release number of selected component (if applicable):

kernel-xen-hypervisor-2.6.15-1.29_FC5
kernel-xen-guest-2.6.15-1.29_FC5
xen-3.0-0.20060110.fc5.2

How reproducible:
100%
Comment 1 Stephen Tweedie 2006-02-03 16:44:55 EST
Still appears to be broken in today's rawhide.
Comment 2 Rik van Riel 2006-02-08 20:53:03 EST
The lowering of cpus works for me.

Just look at /proc/cpuinfo from inside the guest domain.

Raising the number of vcpus beyond what the guest booted with does not work,
however.  I'll take a look at the code...
Comment 3 James Morris 2006-03-22 16:41:17 EST
It seems that the vcpus parameter in the config file sets the maximum number of
possible vcpus for the domain.  You should be able to set the current vcpus to
any number at or below this value.  The hv code does not support changing the
value, in any case.

Code comment:

/*
 * Can only create new VCPUs while the domain is not fully constructed
 * (and hence not runnable). Xen needs auditing for races before
 * removing this check.
 */