[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <YPSweHyCrD2q2Pue@casper.infradead.org>
Date: Sun, 18 Jul 2021 23:51:36 +0100
From: Matthew Wilcox <willy@...radead.org>
To: "Paul E. McKenney" <paulmck@...nel.org>
Cc: Oleksandr Natalenko <oleksandr@...alenko.name>,
linux-kernel@...r.kernel.org, stable@...r.kernel.org,
Chris Clayton <chris2553@...glemail.com>,
Chris Rankin <rankincj@...il.com>,
Josh Triplett <josh@...htriplett.org>,
Steven Rostedt <rostedt@...dmis.org>,
Mathieu Desnoyers <mathieu.desnoyers@...icios.com>,
Lai Jiangshan <jiangshanlai@...il.com>,
Joel Fernandes <joel@...lfernandes.org>, rcu@...r.kernel.org,
Andrew Morton <akpm@...ux-foundation.org>, linux-mm@...ck.org
Subject: Re: linux-5.13.2: warning from kernel/rcu/tree_plugin.h:359
On Sun, Jul 18, 2021 at 02:59:14PM -0700, Paul E. McKenney wrote:
> > > https://lore.kernel.org/lkml/CAK2bqVK0Q9YcpakE7_Rc6nr-E4e2GnMOgi5jJj=_Eh_1k
> > > EHLHA@...l.gmail.com/
>
> But this one does show this warning in v5.12.17:
>
> WARN_ON_ONCE(!preempt && rcu_preempt_depth() > 0);
>
> This is in rcu_note_context_switch(), and could be caused by something
> like a schedule() within an RCU read-side critical section. This would
> of course be RCU-usage bugs, given that you are not permitted to block
> within an RCU read-side critical section.
>
> I suggest checking the functions in the stack trace to see where the
> rcu_read_lock() is hiding. CONFIG_PROVE_LOCKING might also be helpful.
I'm not sure I see it in this stack trace.
Is it possible that there's something taking the rcu read lock in an
interrupt handler, then returning from the interrupt handler without
releasing the rcu lock? Do we have debugging that would fire if
somebody did this?
Powered by blists - more mailing lists