[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <alpine.LFD.2.00.0810051732380.3398@apollo>
Date: Sun, 5 Oct 2008 17:51:52 +0200 (CEST)
From: Thomas Gleixner <tglx@...utronix.de>
To: Ingo Molnar <mingo@...e.hu>
cc: Chuck Ebbert <cebbert@...hat.com>,
Andi Kleen <andi@...stfloor.org>, linux-kernel@...r.kernel.org,
Arjan van de Ven <arjan@...radead.org>
Subject: Re: <PING> Re: [patch x86/core] x86: allow number of additional
hotplug CPUs to be set at compile time
On Sun, 5 Oct 2008, Ingo Molnar wrote:
>
> * Thomas Gleixner <tglx@...utronix.de> wrote:
>
> > On Sun, 5 Oct 2008, Ingo Molnar wrote:
> > > * Chuck Ebbert <cebbert@...hat.com> wrote:
> > >
> > > > Yes, it works and I don't see how it could cause any problems.
> > > >
> > > > Ingo, can we get this in 2.6.27? You can drop my original patch.
> > > >
> > > > Tested-by: Chuck Ebbert <cebbert@...hat.com>
> > >
> > > looks good, applied to tip/x86/core, thanks!
> >
> > No, this patch is horrible.
> >
> > The correct check is num_present_cpus(). There is no need to make the
> > weird additional_cpus hackery globally available.
>
> ah, indeed!
>
> applied to tip/x86/core and i've zapped Andi's patch.
>
> > Btw, additional_cpus has interesting properties. Providing a negative
> > number < -1 on the kernel command line - happened due to a typo -
> > explodes in early boot, which is not really surprising, but should be
> > sanity checked.
>
> indeed, and that mess was introduced, interestingly, by this commit,
> three years ago, by Andi:
>
> | From 420f8f68c9c5148dddf946bebdbc7eacde2172cb Mon Sep 17 00:00:00 2001
> | From: Andi Kleen <ak@...e.de>
> | Date: Sat, 5 Nov 2005 17:25:54 +0100
> | Subject: [PATCH] [PATCH] x86_64: New heuristics to find out hotpluggable CPUs.
>
> so to clean up the mess i've removed the additional_cpus= boot parameter
> and the Kconfig entry as well - see the patch in x86/core below.
>
> thanks Thomas for decoding this ...
>
> and no way can any of this go into v2.6.27: this is fragile code with a
> lot of historic baggage and the original error is non-fatal to begin
> with. It can easily be backported to .27.1 if testing shows that it has
> no other adverse side-effects.
Please lets get rid of all this.
Thanks,
tglx
---------------->
>From 344707c1f43dd0d080828497aacb60c0cc0a8c13 Mon Sep 17 00:00:00 2001
From: Thomas Gleixner <tglx@...utronix.de>
Date: Sun, 5 Oct 2008 17:27:56 +0200
Subject: [PATCH] x86, smpboot: remove additional_cpus
remove remainder of additional_cpus logic. We now just listen to the
disabled_cpus value like we did for years. disabled_cpus is always >=
0 so no need for an extra check.
Signed-off-by: Thomas Gleixner <tglx@...utronix.de>
---
arch/x86/kernel/smpboot.c | 14 ++------------
1 files changed, 2 insertions(+), 12 deletions(-)
diff --git a/arch/x86/kernel/smpboot.c b/arch/x86/kernel/smpboot.c
index 3868018..d6a4d95 100644
--- a/arch/x86/kernel/smpboot.c
+++ b/arch/x86/kernel/smpboot.c
@@ -1260,8 +1260,6 @@ void __init native_smp_cpus_done(unsigned int max_cpus)
check_nmi_watchdog();
}
-static int additional_cpus = -1;
-
/*
* cpu_possible_map should be static, it cannot change as cpu's
* are onlined, or offlined. The reason is per-cpu data-structures
@@ -1281,21 +1279,13 @@ static int additional_cpus = -1;
*/
__init void prefill_possible_map(void)
{
- int i;
- int possible;
+ int i, possible;
/* no processor from mptable or madt */
if (!num_processors)
num_processors = 1;
- if (additional_cpus == -1) {
- if (disabled_cpus > 0)
- additional_cpus = disabled_cpus;
- else
- additional_cpus = 0;
- }
-
- possible = num_processors + additional_cpus;
+ possible = num_processors + disabled_cpus;
if (possible > NR_CPUS)
possible = NR_CPUS;
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists