Merge branches 'x86-detect-hyper-for-linus', 'x86-fpu-for-linus', 'x86-kexec-for-linus', 'x86-platform-for-linus', 'x86-quirks-for-linus', 'x86-tsc-for-linus' and 'x86-smpboot-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip
* 'x86-detect-hyper-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: x86, hyper: Change hypervisor detection order * 'x86-fpu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: x86-32, fpu: Fix DNA exception during check_fpu() * 'x86-kexec-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: kexec, x86: Fix incorrect jump back address if not preserving context * 'x86-platform-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: x86, config: Introduce an INTEL_MID configuration * 'x86-quirks-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: x86, quirks: Use pci_dev->revision * 'x86-tsc-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: x86: tsc: Remove unneeded DMI-based blacklisting * 'x86-smpboot-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: x86, boot: Wait for boot cpu to show up if nr_cpus limit is about to hit
This commit is contained in:

@@ -1944,10 +1944,28 @@ void disconnect_bsp_APIC(int virt_wire_setup)
|
||||
|
||||
void __cpuinit generic_processor_info(int apicid, int version)
|
||||
{
|
||||
int cpu;
|
||||
int cpu, max = nr_cpu_ids;
|
||||
bool boot_cpu_detected = physid_isset(boot_cpu_physical_apicid,
|
||||
phys_cpu_present_map);
|
||||
|
||||
/*
|
||||
* If boot cpu has not been detected yet, then only allow upto
|
||||
* nr_cpu_ids - 1 processors and keep one slot free for boot cpu
|
||||
*/
|
||||
if (!boot_cpu_detected && num_processors >= nr_cpu_ids - 1 &&
|
||||
apicid != boot_cpu_physical_apicid) {
|
||||
int thiscpu = max + disabled_cpus - 1;
|
||||
|
||||
pr_warning(
|
||||
"ACPI: NR_CPUS/possible_cpus limit of %i almost"
|
||||
" reached. Keeping one slot for boot cpu."
|
||||
" Processor %d/0x%x ignored.\n", max, thiscpu, apicid);
|
||||
|
||||
disabled_cpus++;
|
||||
return;
|
||||
}
|
||||
|
||||
if (num_processors >= nr_cpu_ids) {
|
||||
int max = nr_cpu_ids;
|
||||
int thiscpu = max + disabled_cpus;
|
||||
|
||||
pr_warning(
|
||||
|
Reference in New Issue
Block a user