Messages in this thread | | | Date | Mon, 4 Jun 2018 20:16:10 +0200 | From | Simon Horman <> | Subject | Re: [PATCH 15a/18] rhashtables: add lockdep tracking to bucket bit-spin-locks. |
| |
On Mon, Jun 04, 2018 at 12:52:54PM +1000, NeilBrown wrote: > > Native bit_spin_locks are not tracked by lockdep. > > The bit_spin_locks used for rhashtable buckets are local > to the rhashtable implementation, so there is little opportunity > for the sort of misuse that lockdep might detect. > However locks are held while a hash function or compare > function is called, and if one of these took a lock, > a misbehaviour is possible. > > As it is quite easy to add lockdep support this unlikely > possibility see to be enough justification.
nit: s/see/seems/
> > So create a lockdep class for bucket bit_spin_lock as attach > through a lockdep_map in each bucket_table. > > With the 'nested' annotation in rhashtable_rehash_one(), lockdep > correctly reports a possible problem as this lock it taken > while another bucket lock (in another table) is held. This > confirms that the added support works. > With the correct nested annotation in place, lockdep reports > no problems. > > Signed-off-by: NeilBrown <neilb@suse.com>
| |