[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20070406232500.3fd84c77.akpm@linux-foundation.org>
Date: Fri, 6 Apr 2007 23:25:00 -0700
From: Andrew Morton <akpm@...ux-foundation.org>
To: "Keshavamurthy, Anil S" <anil.s.keshavamurthy@...el.com>
Cc: Linux Kernel <linux-kernel@...r.kernel.org>,
Andi Kleen <ak@...e.de>, Gautham R Shenoy <ego@...ibm.com>
Subject: Re: Avoid checking for cpu gone when CONFIG_HOTPLUG_CPU not defined
On Fri, 6 Apr 2007 14:41:50 -0700 "Keshavamurthy, Anil S" <anil.s.keshavamurthy@...el.com> wrote:
> Subject: Avoid checking for cpu gone when CONFIG_HOTPLUG_CPU not defined
>
> Avoid checking for cpu gone in mm hot path when
> CONFIG_HOTPLUG_CPU is not defined.
>
> Signed-off-by: Anil S Keshavamurthy <anil.s.keshavamurthy@...el.com>
>
> ---
> arch/i386/kernel/smp.c | 4 +++-
> 1 file changed, 3 insertions(+), 1 deletion(-)
>
> Index: work/arch/i386/kernel/smp.c
> ===================================================================
> --- work.orig/arch/i386/kernel/smp.c
> +++ work/arch/i386/kernel/smp.c
> @@ -365,10 +365,12 @@ static void flush_tlb_others(cpumask_t c
> BUG_ON(cpu_isset(smp_processor_id(), cpumask));
> BUG_ON(!mm);
>
> +#ifdef CONFIG_HOTPLUG_CPU
> /* If a CPU which we ran on has gone down, OK. */
> cpus_and(cpumask, cpumask, cpu_online_map);
> - if (cpus_empty(cpumask))
> + if (unlikely(cpus_empty(cpumask)))
> return;
> +#endif
>
> /*
> * i'm not happy about this global shared spinlock in the
Fair enough.
The code you're touching in with the original CPU-hotplug-for-i386 patches.
x86_64 doesn't do it. It handles tlb flushing differently anyway. But I
suspect that x86_64 is just buggy, unless all callers of flush_tlb_others()
have taken care to disable preemption prior to their calculation of the
passed-in cpumask.
Shudder. Gautham, this is code which we can cheerfully delete when we get
the freezer stuff done. Fortunately, Anil's patch will make it nice and
easy to find again.
-
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