Re: <PING> Re: [patch x86/core] x86: allow number of additionalhotplug CPUs to be set at compile time
From: Thomas Gleixner
Date: Sun Oct 05 2008 - 17:50:27 EST
On Sun, 5 Oct 2008, Andi Kleen wrote:
> >
> > Please lets get rid of all this.
>
> The result is that there's no way to override a BIOS now that
> doesn't declare the number of hotplug CPUs with the Linux hotplug
> extension.
>
> Completely trusting the BIOS seems like a bad idea.
>
> So I think you still need the command line parameter back, otherwise there's no
> way to override the BIOS.
>
> -Andi (who wished you guys would check with the original author
> before removing code you clearly don't understand)
Sigh, could you please start thinking first before you insult me ?
Chucks problem is that the BIOS advertises
1 present CPU and 1 disabled CPU
Now the current code does not switch to UP alternatives because the
check in alternatives.c is:
if (num_possible_cpus() == 1 ...
which evaluates to false, due to:
num_possible_cpus = num_processors + additional_cpus
where additional_cpus = disabled_cpus when no command line
parameter is given, i.e. the default behaviour of the kernel.
and where num_processors = num_present_cpus()
so in Chucks case num_possible_cpus() == 2
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.
if (num_present_cpus() == 1 ...
This is not a question of trusting the BIOS:
If we can not trust present_cpu_map then additional_cpus does not help
at all.
additional_cpus is useless ballast.
Thanks,
tglx - who refrains from adding a nasty insulting comment
--
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/