[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
Le Vendredi 21 Avril 2006 03:31, Atsushi SAKAI a écrit : > Hi, All > > This is a patch for checking # of CPUs consistency. > This patch compares the values of MAX_VIRT_CPU and NR_CPUS. > The object of this patch is to avoid boot error for SMP case. > > Reason for the need of this patch > > When we were testing SMP system, Boot sequence was failed > in the case of using BVT scheduler. > Each CPU assumed to have idle_vcpu in scheduler. > But these two values inconsistency makes the cpus which is not assigned > idle_vcpu. This case is occurred MAX_VIRT_CPUS is less than # of Real CPU. > (for example MAX_VIRT_CPUS = 4 and Real CPU = 8 > 4Real CPUs are not assigned to idle_vcpu) > Currently, no check routine exists in scheduler for this problem. > To solve this problem, I added check routine in xen/sched.h. > > > > Current situations > > This problem is currently solved in IA64 by CSET;9495 patch by > expanding both CPUS value to 64. > (Previously MAX_VIRT_CPUS = 8 and NR_CPUS = 4) > > #define MAX_VIRT_CPUS 64 in xen/include/public/arch-ia64.h > and > #define NR_CPUS 64 in xen/include/asm-ia64/config.h > > 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! Tristan. _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |