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/
Home Products Support Community News


RE: [Xen-devel] [PATCH]Check the values of MAX_VIRT_CPUS and NR_CPUSfor

To: "Tristan Gingold" <Tristan.Gingold@xxxxxxxx>, "Keir Fraser" <Keir.Fraser@xxxxxxxxxxxx>, "Atsushi SAKAI" <sakaia@xxxxxxxxxxxxxx>
Subject: RE: [Xen-devel] [PATCH]Check the values of MAX_VIRT_CPUS and NR_CPUSfor SMP
From: "Tian, Kevin" <kevin.tian@xxxxxxxxx>
Date: Fri, 21 Apr 2006 15:28:38 +0800
Cc: xen-devel@xxxxxxxxxxxxxxxxxxx
Delivery-date: Fri, 21 Apr 2006 00:29:58 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
Thread-index: AcZlFFmn+pGp6uyFSTOmZc8q1pKaCAAACrtQ
Thread-topic: [Xen-devel] [PATCH]Check the values of MAX_VIRT_CPUS and NR_CPUSfor SMP
>From: Tristan Gingold [mailto:Tristan.Gingold@xxxxxxxx]
>Sent: 2006年4月21日 15:26
>> >
>> >See how we solve this on x86 near the top of do_boot_cpu() in
>> >arch/x86/smpboot.c. Essentially we allocate extra idle domains on
>> >demand to give us enough idle vcpus for one per physical cpu.
>> >
>> >  -- Keir
>> Yes, that's the same story on ia64 where we also allocate idle
>> vcpu at do_boot_cpu(). That's why I'm not sure the real cause
>> for Atsushi's issue.
>No, we don't create extra domains.  Therefore it there are more CPUs
>VCPUs, something goes wrong...

Yes, there's only one idle domain now. However I'm not sure 
why something will go wrong when NR_CPUS > MAX_VIRT_CPUS. 
As long as you want to wake up an AP, you have to go through 
do_boot_cpu where idle_vcpu will be created. The only drawback is 
that some physical cpus will not be waken up by "max_cpus = 
MAX_VIRT_CPUS" you mentioned in another thread. That needs to 
be fixed which however shouldn't crash anything since uninitialized 
cpus won't be used.


Xen-devel mailing list