[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <aLlXFQaRmKaCeXTG@gondor.apana.org.au>
Date: Thu, 4 Sep 2025 17:08:37 +0800
From: Herbert Xu <herbert@...dor.apana.org.au>
To: Menglong Dong <menglong.dong@...ux.dev>
Cc: mhiramat@...nel.org, rostedt@...dmis.org,
mathieu.desnoyers@...icios.com, linux-kernel@...r.kernel.org,
linux-trace-kernel@...r.kernel.org, oliver.sang@...el.com,
"Paul E. McKenney" <paulmck@...nel.org>
Subject: Re: [PATCH] tracing: fprobe: fix suspicious rcu usage in fprobe_entry
On Thu, Sep 04, 2025 at 11:37:35AM +0800, Menglong Dong wrote:
>
> Yeah, I understand what you mean. I noticed this, and that's why
> I added the rcu_read_lock() for rhashtable_lookup() only.
>
> Maybe it is to obtain better performance? Just guess ;)
> And hlist_for_each_entry_rcu() also uses rcu_dereference_raw().
I did some digging and this appears to be the source of the
rcu_dereference_raw call:
commit 3120438ad68601f341e61e7cb1323b0e1a6ca367
Author: Paul E. McKenney <paulmck@...nel.org>
Date: Mon Feb 22 17:04:48 2010 -0800
rcu: Disable lockdep checking in RCU list-traversal primitives
The theory is that use of bare rcu_dereference() is more prone
to error than use of the RCU list-traversal primitives.
Therefore, disable lockdep RCU read-side critical-section
checking in these primitives for the time being. Once all of
the rcu_dereference() uses have been dealt with, it may be time
to re-enable lockdep checking for the RCU list-traversal
primitives.
So I don't think there is a good reason to use rcu_dereference_raw
here at all.
Cheers,
--
Email: Herbert Xu <herbert@...dor.apana.org.au>
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt
Powered by blists - more mailing lists