Messages in this thread | | | Date | Thu, 24 Jul 2014 20:36:43 +0200 | From | Peter Zijlstra <> | Subject | Re: Linux 3.16-rc6 |
| |
On Thu, Jul 24, 2014 at 11:18:16AM -0700, Linus Torvalds wrote: > On Thu, Jul 24, 2014 at 5:58 AM, Peter Zijlstra <peterz@infradead.org> wrote: > > > > 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?
| |