Thread (17 messages) 17 messages, 6 authors, 2014-07-28

Re: Linux 3.16-rc6

From: Borislav Petkov <bp@alien8.de>
Date: 2014-07-24 08:41:44
Also in: lkml

On Thu, Jul 24, 2014 at 08:43:53AM +0200, Peter Zijlstra wrote:
On Wed, Jul 23, 2014 at 05:37:43PM -0700, Linus Torvalds wrote:
quoted
On Wed, Jul 23, 2014 at 2:53 AM, Borislav Petkov [off-list ref] wrote:
quoted
Well, it looks like we f*cked up something after -rc5 since I'm starting
to see lockdep splats all over the place which I didn't see before. I'm
running rc6 + tip/master.

There was one in r8169 yesterday:

https://lkml.kernel.org/r/20140722081840.GA6462@pd.tnic

and now I'm seeing the following in a kvm guest. I'm adding some more
lists to CC which look like might be related, judging from the stack
traces.
Hmm. I'm not seeing the reason for this.
quoted
[   31.704282] [ INFO: possible irq lock inversion dependency detected ]
[   31.704282] 3.16.0-rc6+ #1 Not tainted
[   31.704282] ---------------------------------------------------------
[   31.704282] Xorg/3484 just changed the state of lock:
[   31.704282]  (tasklist_lock){.?.+..}, at: [<ffffffff81184b19>] send_sigio+0x59/0x1b0
[   31.704282] but this lock took another, HARDIRQ-unsafe lock in the past:
[   31.704282]  (&(&p->alloc_lock)->rlock){+.+...}
Ok, so the claim is that there's a 'p->alloc_lock' (ie "task_lock()")
that is inside the tasklist_lock, which would indeed be wrong. But I'm
not seeing it. The "shortest dependencies" thing seems to imply
__set_task_comm(), but that only takes task_lock.

Unless there is something in tip/master. 
lkml.kernel.org/r/tip-e0645a111cb44e01adc6bfff34f683323863f4d2@git.kernel.org

Its supposed to change lockdep to the stricter semantics provided by the
qrwlock.

Where the rwlock used to be unfair and reader biased, qrwlock is 'fair'
and only allows interrupt recursion.
quoted
Can you check that this is
actually in plain -rc6?

Or maybe I'm just blind. Those lockdep splats are easy to get wrong.
Adding PeterZ and Ingo to the list just because they are my lockdep
go-to people.
I've been staring at this splat from borislav since yesterday morning
and confusing myself properly.. I'll continue doing so until I'm
decided.
CCing original author:

@Waiman, you can easily reproduce by booting a kvm guest with rc6 +
tip/master. It does not trigger everytime so you need to try a couple of
iterations.

I'm attaching my .config.

Also, here the splats I'm seeing on my machines:

https://lkml.kernel.org/r/20140722081840.GA6462@pd.tnic
https://lkml.kernel.org/r/20140723095327.GA23131@pd.tnic

Thanks.

-- 
Regards/Gruss,
    Boris.

Sent from a fat crate under my desk. Formatting is fine.
--

Attachments

Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help