Messages in this thread | | | Date | Tue, 9 May 2023 16:27:46 -0400 | Subject | Re: [PATCH 03/32] locking/lockdep: lockdep_set_no_check_recursion() | From | Waiman Long <> |
| |
On 5/9/23 16:18, Kent Overstreet wrote: > On Tue, May 09, 2023 at 09:31:47PM +0200, Peter Zijlstra wrote: >> On Tue, May 09, 2023 at 12:56:28PM -0400, Kent Overstreet wrote: >>> This adds a method to tell lockdep not to check lock ordering within a >>> lock class - but to still check lock ordering w.r.t. other lock types. >>> >>> This is for bcachefs, where for btree node locks we have our own >>> deadlock avoidance strategy w.r.t. other btree node locks (cycle >>> detection), but we still want lockdep to check lock ordering w.r.t. >>> other lock types. >>> >> ISTR you had a much nicer version of this where you gave a custom order >> function -- what happend to that? > Actually, I spoke too soon; this patch and the other series with the > comparison function solve different problems. > > For bcachefs btree node locks, we don't have a defined lock ordering at > all - we do full runtime cycle detection, so we don't want lockdep > checking for self deadlock because we're handling that but we _do_ want > lockdep checking lock ordering of btree node locks w.r.t. other locks in > the system.
Maybe you can use lock_set_novalidate_class() instead.
Cheers, Longman
| |