On Sunday, 16 February 2020 16:33:24 CET Madhuparna Bhowmik wrote:
[...]
quoted
Can you tell us how you've identified these four hlist_for_each_entry_rcu?
The other hlist_for_each_entry_rcu() are used under the protection of
rcu_read_lock(). We only need to pass the cond when
hlist_for_each_entry_rcu() is used under a
different lock (not under rcu_red_lock()) because according to the current scheme a lockdep splat
is generated when hlist_for_each_entry_rcu() is used outside of
rcu_read_lock() or the lockdep condition (the cond argument) evaluates
to false. So, we need to pass this cond when it is used under the
protection of spinlock or mutex etc. and not required if rcu_read_lock()
is used.
I understand this part. I was asking how you've identified them. Did you use
any tool for that? coccinelle, sparse, ...
Kind regards,
Sven