Messages in this thread | | | Date | Thu, 13 Sep 2012 12:10:09 +0200 | From | Maarten Lankhorst <> | Subject | Re: [PATCH] lockdep: Check if nested lock is actually held |
| |
Hey,
Op 13-09-12 11:59, Peter Zijlstra schreef: > On Thu, 2012-09-13 at 11:39 +0200, Maarten Lankhorst wrote: >> It is considered good form to lock the lock you claim to be nested in. > Uhm yeah.. cute. You actually found a site where this triggered? > Not in mainline, I was working on some lockdep annotations for my work on moving ttm reservations to base kernel, and I wrote a whole bunch of tests to stress interaction between reservations and locks, one of the tests I was doing was taking a spinlock without the nested object:
static void reservation_test_fence_nest_unreserved(void) { struct reservation_object o;
reservation_object_init(&o);
spin_lock_nest_lock(&o.fence_lock, &o); spin_unlock(&o.fence_lock); }
I would have expected it to fail, and the patch fixed it. As a nice side effect it also complained about another hack I was doing elsewhere with reservations to tests for deadlocks, and it forced me to fix it in a slightly less hacky way.
~Maarten
| |