Lines Matching refs:that
12 A class of locks is a group of locks that are logically the same with
15 struct is one class, while each inode has its own instantiation of that
20 rolling proof that the state and the dependencies are correct.
24 and all subsequent uses of that lock-class will be attached to this
75 The validator detects and reports lock usage that violate these
106 The above rules are enforced for any locking sequence that occurs in the
125 (Again, we do these checks too on the basis that an interrupt context
127 could lead to a lock inversion deadlock - even if that lock scenario did
140 An example of such an object hierarchy that results in "nested locking"
141 is that of a "whole disk" block-dev object and a "partition" block-dev
149 versions of the various locking primitives were added that allow you to
162 In this case the locking is done on a bdev object that is known to be a
165 The validator treats a lock that is taken in such a nested fashion as a
169 check really thoroughly that the hierarchy is correctly mapped; otherwise
176 correctness) in the sense that for every simple, standalone single-task
177 locking sequence that occurred at least once during the lifetime of the
178 kernel, the validator proves it with a 100% certainty that no
186 example, complex deadlocks that would normally need more than 3 CPUs and
199 [*] assuming that the validator itself is 100% correct, and no other
201 We also assume that all NMI/SMM paths [which could interrupt
203 with the validator. We also assume that the 64-bit 'chain hash'
211 that for every lock taken and for every irqs-enable event, it would
222 locking chain occurs again later on, the hash table tells us that we
239 will result in lock-class leakage. The issue here is that each
241 that module's locks, but module unloading does not remove old
243 Therefore, if that module is loaded and unloaded repeatedly,
246 2. Using structures such as arrays that have large numbers of
247 locks that are not explicitly initialized. For example,
254 In contrast, a loop that called spin_lock_init() on each lock
257 The moral of this story is that you should always explicitly
260 One might argue that the validator should be modified to allow
262 argument, first review the code and think through the changes that would
263 be required, keeping in mind that the lock classes to be removed are