[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH]Check the values of MAX_VIRT_CPUS and NR_CPUS for SMP




On 21 Apr 2006, at 08:10, Tristan Gingold wrote:

But the logical limit of the IA64 Max CPU is larger than 64.
If someone change these values, some possibility make this error again.

To avoid this problem, I believe this check code should be exists.
Please also note that this problem is currently worked around in xen/ia64:
   /* A vcpu is created for the idle domain on every physical cpu.
       Limit the number of cpus to the maximum number of vcpus.  */
    if (max_cpus > MAX_VIRT_CPUS)
        max_cpus = MAX_VIRT_CPUS;

Of course, the Keir method is better!

Rather than cut-and-pasting that code into arch/ia64 I would like to see a patch which moves the definition of the idle_vcpu array, and the code from the top of x86's do_boot_cpu(), into common/domain.c (maybe call the function alloc_idle_vcpu()). Passed a physical cpu number, it would use the x86 alloc logic, fill in idle_vcpu[], and return the vcpu that was allocated.

 -- Keir


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


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.