[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20181110141734.GF3339@worktop.programming.kicks-ass.net>
Date: Sat, 10 Nov 2018 15:17:34 +0100
From: Peter Zijlstra <peterz@...radead.org>
To: Waiman Long <longman@...hat.com>
Cc: Ingo Molnar <mingo@...hat.com>, Will Deacon <will.deacon@....com>,
Thomas Gleixner <tglx@...utronix.de>,
linux-kernel@...r.kernel.org, kasan-dev@...glegroups.com,
linux-mm@...ck.org, Petr Mladek <pmladek@...e.com>,
Sergey Senozhatsky <sergey.senozhatsky@...il.com>,
Andrey Ryabinin <aryabinin@...tuozzo.com>,
Tejun Heo <tj@...nel.org>,
Andrew Morton <akpm@...ux-foundation.org>
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.
Powered by blists - more mailing lists