Re: Linux 3.16-rc6
From: Peter Zijlstra <peterz@infradead.org>
Date: 2014-07-24 18:36:57
Also in:
lkml
On Thu, Jul 24, 2014 at 11:18:16AM -0700, Linus Torvalds wrote:
On Thu, Jul 24, 2014 at 5:58 AM, Peter Zijlstra [off-list ref] wrote:quoted
So going by the nifty picture rostedt made: [ 61.454336] CPU0 CPU1 [ 61.454336] ---- ---- [ 61.454336] lock(&(&p->alloc_lock)->rlock); [ 61.454336] local_irq_disable(); [ 61.454336] lock(tasklist_lock); [ 61.454336] lock(&(&p->alloc_lock)->rlock); [ 61.454336] <Interrupt> [ 61.454336] lock(tasklist_lock);So this *should* be fine. It always has been in the past, and it was certainly the *intention* that it should continue to work with qrwlock, even in the presense of pending writers on other cpu's. The qrwlock rules are that a read-lock in an interrupt is still going to be unfair and succeed if there are other readers.
Ah, indeed. Should have checked :/
So it sounds to me like the new lockdep rules in tip/master are too strict and are throwing a false positive.
Right. Waiman can you have a look?