WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-users

[Xen-users] CPU hotplug x86 32bit

To: <xen-users@xxxxxxxxxxxxxxxxxxx>
Subject: [Xen-users] CPU hotplug x86 32bit
From: "Alan Greenspan" <alan@xxxxxxxxxxx>
Date: Fri, 12 May 2006 13:48:13 -0400
Delivery-date: Fri, 12 May 2006 10:48:51 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-users-request@lists.xensource.com?subject=help>
List-id: Xen user discussion <xen-users.lists.xensource.com>
List-post: <mailto:xen-users@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-users>, <mailto:xen-users-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-users>, <mailto:xen-users-request@lists.xensource.com?subject=unsubscribe>
Sender: xen-users-bounces@xxxxxxxxxxxxxxxxxxx
Does anyone have any insight as to how CPU hotplug integrates with x86_32 and Xen?

Though the #VCPUs for a domU can be changed dynamically in Xen 3.0 using:

xm vcpu-set <domid> <VCPUs>

it appears that running x86_32 Linux domUs don't detect dynamically added VCPUs. The Linux CPU hotplug documentation seems to indicate that if the CPUs are not detected at boot time, they cannot be added later. IMHO, this stretches the definition of "hot pluggable".

As far as Xen goes, I can imagine use cases where a domU could start on a machine with say N real and N VCPUs, but if it outgrows those needs, it could be live migrated or saved/restored on a machine with > N real CPU capacity. After a restore or migration, bumping up the VCPUs to >N would allow the domU to make use of the additional CPUs on the target machine. Another use case is simply wanting to dynamically adjust the number of CPUs available to particular domUs on a large SMP host as application needs change.

It seems like the "additional_cpus" kernel option might do the trick to allow Linux to reserve slots for additional CPUs, but this is apparently not supported for x86_32 (see below). So I guess the question is - does dynamic VCPU modification NOT work such that VCPUs can be added and recognized by a running x86_32 Linux/domU? And a follow up question is whether it works on x86_64 using "additional_cpus". And then there is the question of Windows and how it reacts to dynamic changes in VCPUs.

Alan

[Not sure how current this hotplug info is ...]
+General Stuff about CPU Hotplug
+--------------------------------
+
+Command Line Switches
+---------------------
+maxcpus=n    Restrict boot time cpus to n. Say if you have 4 cpus, using
+             maxcpus=2 will only boot 2. You can choose to bring the
+             other cpus later online, read FAQ's for more info.
+
+additional_cpus*=n   Use this to limit hotpluggable cpus. This option sets
+           cpu_possible_map = cpu_present_map + additional_cpus
+
+(*) Option valid only for following architectures
+- x86_64, ia64, s390
+
+ia64 and x86_64 use the number of disabled local apics in ACPI tables MADT
+to determine the number of potentially hot-pluggable cpus. The implementation
+should only rely on this to count the #of cpus, but *MUST* not rely on the
+apicid values in those tables for disabled apics. In the event BIOS doesnt
+mark such hot-pluggable cpus as disabled entries, one could use this
+parameter "additional_cpus=x" to represent those cpus in the cpu_possible_map. +

_______________________________________________
Xen-users mailing list
Xen-users@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-users

<Prev in Thread] Current Thread [Next in Thread>
  • [Xen-users] CPU hotplug x86 32bit, Alan Greenspan <=