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/