[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20201014215319.GF2974@worktop.programming.kicks-ass.net>
Date: Wed, 14 Oct 2020 23:53:19 +0200
From: Peter Zijlstra <peterz@...radead.org>
To: "Paul E. McKenney" <paulmck@...nel.org>
Cc: Boqun Feng <boqun.feng@...il.com>, Qian Cai <cai@...hat.com>,
Steven Rostedt <rostedt@...dmis.org>,
Ingo Molnar <mingo@...nel.org>, x86 <x86@...nel.org>,
linux-kernel@...r.kernel.org, linux-tip-commits@...r.kernel.org,
Linux Next Mailing List <linux-next@...r.kernel.org>,
Stephen Rothwell <sfr@...b.auug.org.au>
Subject: Re: [tip: locking/core] lockdep: Fix lockdep recursion
On Wed, Oct 14, 2020 at 11:34:05AM -0700, Paul E. McKenney wrote:
> commit 7deaa04b02298001426730ed0e6214ac20d1a1c1
> Author: Paul E. McKenney <paulmck@...nel.org>
> Date: Tue Oct 13 12:39:23 2020 -0700
>
> rcu: Prevent lockdep-RCU splats on lock acquisition/release
>
> The rcu_cpu_starting() and rcu_report_dead() functions transition the
> current CPU between online and offline state from an RCU perspective.
> Unfortunately, this means that the rcu_cpu_starting() function's lock
> acquisition and the rcu_report_dead() function's lock releases happen
> while the CPU is offline from an RCU perspective, which can result in
> lockdep-RCU splats about using RCU from an offline CPU. In reality,
> aside from the splats, both transitions are safe because a new grace
> period cannot start until these functions release their locks.
But we call the trace_* crud before we acquire the lock. Are you sure
that's a false-positive?
Powered by blists - more mailing lists