Commit 73da582a authored by Fernando Fernandez Mancera's avatar Fernando Fernandez Mancera Committed by Thomas Gleixner
Browse files

x86/cpu/topology: Remove limit of CPUs due to disabled IO/APIC



The rework of possible CPUs management erroneously disabled SMP when the
IO/APIC is disabled either by the 'noapic' command line parameter or during
IO/APIC setup. SMP is possible without IO/APIC.

Remove the ioapic_is_disabled conditions from the relevant possible CPU
management code paths to restore the orgininal behaviour.

Fixes: 7c0edad3 ("x86/cpu/topology: Rework possible CPU management")
Signed-off-by: default avatarFernando Fernandez Mancera <ffmancera@riseup.net>
Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
Cc: stable@vger.kernel.org
Link: https://lore.kernel.org/all/20241202145905.1482-1-ffmancera@riseup.net
parent d0ceea66
Loading
Loading
Loading
Loading
+3 −3
Original line number Diff line number Diff line
@@ -428,8 +428,8 @@ void __init topology_apply_cmdline_limits_early(void)
{
	unsigned int possible = nr_cpu_ids;

	/* 'maxcpus=0' 'nosmp' 'nolapic' 'disableapic' 'noapic' */
	if (!setup_max_cpus || ioapic_is_disabled || apic_is_disabled)
	/* 'maxcpus=0' 'nosmp' 'nolapic' 'disableapic' */
	if (!setup_max_cpus || apic_is_disabled)
		possible = 1;

	/* 'possible_cpus=N' */
@@ -443,7 +443,7 @@ void __init topology_apply_cmdline_limits_early(void)

static __init bool restrict_to_up(void)
{
	if (!smp_found_config || ioapic_is_disabled)
	if (!smp_found_config)
		return true;
	/*
	 * XEN PV is special as it does not advertise the local APIC