Re: [PATCH 13/14] lockdep: Implement lock pinning

From: Ingo Molnar
Date: Fri Jun 05 2015 - 05:56:40 EST



* Peter Zijlstra <peterz@xxxxxxxxxxxxx> wrote:

> RFC: a possible alternative API would be something like:
>
> int cookie = lockdep_pin_lock(&foo);
> ...
> lockdep_unpin_lock(&foo, cookie);

Yeah, this would be even nicer.

> Where we pick a random number for the pin_count; this makes it
> impossible to sneak a lock break in without also passing the right
> cookie along.
>
> I've not done this because it ends up generating code for !LOCKDEP,
> esp. if you need to pass the cookie around for some reason.

The cookie could be a zero-size structure, which can be 'passed around'
syntactically but creates no overhead in the code.

But I'd expect cookie-passing to be a sign of badness in most cases: the lock
should generally be unpinned at the same level of abstraction...

Thanks,

Ingo
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/