Re: [patch x86/core] x86: allow number of additional hotplug CPUsto be set at compile time, V2

From: Ingo Molnar
Date: Thu Oct 02 2008 - 15:42:47 EST



* Chuck Ebbert <cebbert@xxxxxxxxxx> wrote:

> From: Chuck Ebbert <cebbert@xxxxxxxxxx>
>
> x86: allow number of additional hotplug CPUs to be set at compile time, V2
>
> The default number of additional CPU IDs for hotplugging is determined
> by asking ACPI or mptables how many "disabled" CPUs there are in the
> system, but many systems get this wrong so that e.g. a uniprocessor
> machine gets an extra CPU allocated and never switches to single CPU
> mode.
>
> And sometimes CPU hotplugging is enabled only for suspend/hibernate
> anyway, so the additional CPU IDs are not wanted. Allow the number to
> be set to zero at compile time.
>
> Also, force the number of extra CPUs to zero if hotplugging is disabled
> which allows removing some conditional code.
>
> Tested on uniprocessor x86_64 that ACPI claims has a disabled processor,
> with CPU hotplugging configured.
>
> ("After" has the number of additional CPUs set to 0)
> Before: NR_CPUS: 512, nr_cpu_ids: 2, nr_node_ids 1
> After: NR_CPUS: 512, nr_cpu_ids: 1, nr_node_ids 1
>
> [Changed the name of the option and the prompt according to Ingo's
> suggestion.]

> +config HOTPLUG_RESTRICT_TO_BOOTUP_CPUS
> + def_bool n
> + prompt "Restrict CPU hotplugging to processors found during boot" if HOTPLUG_CPU

ok, that description and naming makes the purpose much clearer, and it's
default-disabled as well.

Applied to tip/x86/core, thanks Chuck!

note that this chunk:

> @@ -1282,16 +1282,13 @@ __init void prefill_possible_map(void)
> if (!num_processors)
> num_processors = 1;
>
> -#ifdef CONFIG_HOTPLUG_CPU
> if (additional_cpus == -1) {
> if (disabled_cpus > 0)
> additional_cpus = disabled_cpus;
> else
> additional_cpus = 0;
> }
> -#else
> - additional_cpus = 0;
> -#endif
> +

was already in -tip, by virtue of:

| commit 2bd455dbfebfd632a8dcf1d3d1612737986fde0a
| Author: Li Zefan <lizf@xxxxxxxxxxxxxx>
| Date: Mon Aug 4 11:26:38 2008 +0800
|
| x86: remove nesting CONFIG_HOTPLUG_CPU

please double-check latest tip/master nevertheless:

http://people.redhat.com/mingo/tip.git/README

to make sure i merged your patch correctly and that it plays well with
other changes.

Thanks,

Ingo
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/