[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <1271314110.13059.159.camel@pasglop>
Date: Thu, 15 Apr 2010 16:48:30 +1000
From: Benjamin Herrenschmidt <benh@...nel.crashing.org>
To: Stephen Rothwell <sfr@...b.auug.org.au>
Cc: Thomas Gleixner <tglx@...utronix.de>, Ingo Molnar <mingo@...e.hu>,
"H. Peter Anvin" <hpa@...or.com>,
Peter Zijlstra <peterz@...radead.org>,
Frederic Weisbecker <fweisbec@...il.com>,
linux-next@...r.kernel.org,
ppc-dev <linuxppc-dev@...ts.ozlabs.org>,
linux-kernel@...r.kernel.org
Subject: Re: linux-next: boot failure after merge of the final tree (tip
related)
On Thu, 2010-04-15 at 16:12 +1000, Stephen Rothwell wrote:
>
> Caused by commit bd6d29c25bb1a24a4c160ec5de43e0004e01f72b ("lockstat:
> Make lockstat counting per cpu"). This added a WARN_ON_ONCE to
> debug_atomic_inc() which is called from trace_hardirqs_on_caller()
> with
> irqs enabled.
>
> Line 2301 is:
>
> if (unlikely(curr->hardirqs_enabled)) {
> debug_atomic_inc(redundant_hardirqs_on); <--- 2301
> return;
> }
>
> This is especially bad since on PowerPC, WARN_ON is a TRAP and the
> return
> path from the TRAP also calls trace_hardirqs_on_caller(), so the TRAP
> recurses ...
I think this is because our syscall entry pretty much force-enable irqs.
I remember deciding back then that getting lockdep balanced in that area
was tricky and I didn't do it to avoid adding more overhead to the
syscall path but I suppose I could revisit if necessary.
Cheers,
Ben.
--
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