[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <ad29574b34aca9ab61d310508f4f21a35cac406e.camel@redhat.com>
Date: Tue, 17 Sep 2019 11:12:48 -0500
From: Scott Wood <swood@...hat.com>
To: Sebastian Andrzej Siewior <bigeasy@...utronix.de>
Cc: linux-rt-users@...r.kernel.org, linux-kernel@...r.kernel.org,
"Paul E . McKenney" <paulmck@...ux.ibm.com>,
Joel Fernandes <joel@...lfernandes.org>,
Thomas Gleixner <tglx@...utronix.de>,
Steven Rostedt <rostedt@...dmis.org>,
Peter Zijlstra <peterz@...radead.org>,
Juri Lelli <juri.lelli@...hat.com>,
Clark Williams <williams@...hat.com>
Subject: Re: [PATCH RT v3 1/5] rcu: Acquire RCU lock when disabling BHs
On Tue, 2019-09-17 at 16:42 +0200, Sebastian Andrzej Siewior wrote:
> On 2019-09-17 09:06:28 [-0500], Scott Wood wrote:
> > Sorry, I missed that you were asking about rcu_read_lock_bh() as
> > well. I
> > did remove the change to rcu_read_lock_bh_held().
>
> Sorry for not being clear here.
>
> > With this patch, local_bh_disable() calls rcu_read_lock() on RT which
> > handles this debug stuff. Doing it twice shouldn't be explicitly
> > harmful,
> > but it's redundant, and debug kernels are slow enough as is.
>
> rcu_read_lock() does:
> > __rcu_read_lock();
> > __acquire(RCU);
> > rcu_lock_acquire(&rcu_lock_map);
> > RCU_LOCKDEP_WARN(!rcu_is_watching(),
> > "rcu_read_lock() used illegally while idle");
>
> __acquire() is removed removed by cpp.
> That RCU_LOCKDEP_WARN is doing the same thing as above and redundant.
> Am I right to assume that you consider
> rcu_lock_acquire(&rcu_bh_lock_map);
>
> redundant because the only user of that is also checking for
> rcu_lock_map?
Yes.
-Scott
Powered by blists - more mailing lists