[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <86802c440712301703w1929ae9fue5bf937bf7f4e005@mail.gmail.com>
Date: Sun, 30 Dec 2007 17:03:50 -0800
From: "Yinghai Lu" <yhlu.kernel@...il.com>
To: "Adrian Bunk" <bunk@...nel.org>
Cc: "Ingo Molnar" <mingo@...e.hu>,
"Thomas Gleixner" <tglx@...utronix.de>, "Andi Kleen" <ak@...e.de>,
"Andrew Morton" <akpm@...ux-foundation.org>,
LKML <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH] x86_64: clear IO_APIC before enabing apic error vector. v2
On Dec 30, 2007 4:28 PM, Adrian Bunk <bunk@...nel.org> wrote:
>
> On Sun, Dec 30, 2007 at 04:01:39PM -0800, Yinghai Lu wrote:
> > On Dec 30, 2007 3:23 PM, Adrian Bunk <bunk@...nel.org> wrote:
> > >
> > > On Sun, Dec 30, 2007 at 02:42:41PM -0800, Yinghai Lu wrote:
> > > > On Dec 30, 2007 2:06 PM, Adrian Bunk <bunk@...nel.org> wrote:
> > > > > On Sun, Dec 30, 2007 at 12:48:48PM -0800, Yinghai Lu wrote:
> > > > > > On Dec 30, 2007 6:51 AM, Ingo Molnar <mingo@...e.hu> wrote:
> > > > > > >
> > > > > > > * Yinghai Lu <Yinghai.Lu@....COM> wrote:
> > > > > > >
> > > > > > > > please check if you can replace the one in the x86-mm
> > > > > > > >
> > > > > > > > http://git.kernel.org/?p=linux/kernel/git/x86/linux-2.6-x86.git;a=commitdiff;h=ffcbdc220a1520d006a837f33589c7c19ffbeb76
> > > > > > > >
> > > > > > > > the updated one avoid one link warning.
> > > > > > >
> > > > > > > please send delta patches instead - so that we can review the changes.
> > > > > >
> > > > > > will do that in another patch.
> > > > > >
> > > > > > >
> > > > > > > > this is the updated verison that take enable_IO_APIC as extra call for
> > > > > > > > setup_local_APIC to avoid linking warning.
> > > > > > >
> > > > > > > hm, what link warning did you get? Perhaps the following __cpuinit:
> > > > > >
> > > > > > WARNING: vmlinux.o(.text+0x163d5): Section mismatch: reference to
> > > > > > .init.text:enable_IO_APIC (between 'setup_local_APIC' and
> > > > > > 'apic_is_clustered_box')
> > > > >
> > > > > So you are doing complicated things for silencing the warning (there is
> > > > > an easier ways for achieving it), but the real bug that you will get an
> > > > > Oops when calling enable_IO_APIC() after bootup since it already got
> > > > > freed stays?
> > > >
> > > > the enable_IO_APIC is actually doing clear_IO_APIC. and it is only
> > > > called by BSP via setup_local_APIC
> > > > and it is not called again after bootup
> > >
> > > OK, this was a bit hidden inside your pointer games.
> > >
> > > Please send a patch that ignores the warning (and therefore doesn't do
> > > these pointer games), and I'll fix the warning in a followup patch.
> >
> > the old one is in x86-mm tree
> >
> > http://git.kernel.org/?p=linux/kernel/git/x86/linux-2.6-x86.git;a=commitdiff;h=ffcbdc220a1520d006a837f33589c7c19ffbeb76
> >...
>
> Sorry for the dumb question, but what in
>
> + if (!smp_processor_id() && !skip_ioapic_setup && nr_ioapics)
> + enable_IO_APIC();
>
> guarantees that this call doesn't happen when you hotplug CPU 0 ?
>
if CPU 0 (BSP) can be hotplug, it will be restarted via smp_callin.
and the delta function call patch will use setup_local_APIC(NULL),
then it will be safe.
YH
--
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