[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <alpine.LFD.2.02.1109071254010.2723@ionos>
Date: Wed, 7 Sep 2011 12:57:44 +0200 (CEST)
From: Thomas Gleixner <tglx@...utronix.de>
To: Russell King - ARM Linux <linux@....linux.org.uk>
cc: Frank Rowand <frank.rowand@...sony.com>,
"paulmck@...ux.vnet.ibm.com" <paulmck@...ux.vnet.ibm.com>,
"Rowand, Frank" <Frank_Rowand@...yusa.com>,
Peter Zijlstra <peterz@...radead.org>,
linux-kernel <linux-kernel@...r.kernel.org>,
linux-rt-users <linux-rt-users@...r.kernel.org>,
Mike Galbraith <efault@....de>, Ingo Molnar <mingo@...x.de>,
Venkatesh Pallipadi <venki@...gle.com>
Subject: Re: [ANNOUNCE] 3.0.1-rt11
On Wed, 7 Sep 2011, Russell King - ARM Linux wrote:
> On Wed, Sep 07, 2011 at 11:46:33AM +0100, Russell King - ARM Linux wrote:
> > I think we had this reported before and I got to the bottom of it - the
> > platform was doing something it shouldn't. I don't remember the details,
> > maybe when all the emails come through I can see the original bug report
> > I'll remember.
>
> Or maybe I won't because it was never posted to an ARM mailing list.
> So I've no idea what the real bug report is about or what has already
> been discussed.
The problem is that if you enable interrupts on the CPU _BEFORE_ it is
set online AND active, then you can end up waking up kernel threads
which are bound to that CPU and the scheduler will happily schedule
them on an online CPU. That makes them lose the cpu affinity to the
CPU as well and hell breaks lose.
Frank has observed this with softirq threads, but the same thing is
true for any other CPU bound thread like the worker stuff.
So moving the online, active thing BEFORE enabling interrupt is the
only sensible solution.
Thanks,
tglx
--
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