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. --