Messages in this thread | | | Date | Sat, 10 Nov 2018 15:17:34 +0100 | From | Peter Zijlstra <> | Subject | Re: [RFC PATCH 02/12] locking/lockdep: Add a new terminal lock type |
| |
On Thu, Nov 08, 2018 at 03:34:18PM -0500, Waiman Long wrote: > A terminal lock is a lock where further locking or unlocking on another > lock is not allowed. IOW, no forward dependency is permitted. > > With such a restriction in place, we don't really need to do a full > validation of the lock chain involving a terminal lock. Instead, > we just check if there is any further locking or unlocking on another > lock when a terminal lock is being held.
> @@ -263,6 +270,7 @@ struct held_lock { > unsigned int hardirqs_off:1; > unsigned int references:12; /* 32 bits */ > unsigned int pin_count; > + unsigned int flags; > };
I'm thinking we can easily steal some bits off of the pin_count field if we have to.
| |