Re: <PING> Re: [patch x86/core] x86: allow number of additional hotplugCPUs to be set at compile time

From: Andi Kleen
Date: Sun Oct 05 2008 - 18:45:53 EST



> Your proposed solution is:
>
> exporting additional_cpus and change the check to:
>
> if ((num_possible_cpus() - additional_cpus) == 1 ...
>
> This is simply stupid. We have the information already in
> num_present_cpus() and that's the correct check in the alternatives
> code.

Yes that is correct. Using present_cpus is cleaner than
my version patch (although it wasn't quite at a "mess" level imho).
No argument on that. But that is not what my emails were about.

They were about the removal of the additional_cpus=... parameter
which was unfortunately done too.

additional_cpus is used for more than just alternatives processing.
It is also used to size the possible map and declare additional
hotplug CPUs.

Please read the Documentation cpu-hotplug-spec I referred to earlier
for background. Or Documentation/cpu-hotplug.txt which has it too.

additional_cpus is used to tell Linux that there are more (or less)
CPUs hotpluggable than the BIOS declares at boot time. This is needed
because the way the BIOS is declaring it is a Linux extension, not standard.
But even if it was standard it would be good policy to be able
to override it because as we all know BIOS can be wrong, as in
declare far too many.

But now that option is gone so this needed override isn't there

> additional_cpus is useless ballast.

For the alternatives heuristics yes. For hotplug no.

Only when you assume that all hotpluggable BIOS implement
the "cpu-hotplug-spec" Linux extension and always declare
hotplug correctly. That's quite dubious.

> tglx - who refrains from adding a nasty insulting comment

Feel free to speak your mind if the facts are correct.

-Andi

--
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/