Re: [RFC][PATCH 0/3] Tracing, Idle, RCU and such goodness

From: Paul E. McKenney
Date: Tue Aug 11 2020 - 12:08:27 EST


On Mon, Aug 10, 2020 at 02:11:38PM +0200, peterz@xxxxxxxxxxxxx wrote:
> On Mon, Aug 10, 2020 at 11:55:35AM +0200, Marco Elver wrote:
>
> > Unfortunately I get LOCKDEP_DEBUG warnings, when testing with one of
> > syzbot's configs. This appears at some point during boot (no other
> > test):
> >
> > DEBUG_LOCKS_WARN_ON(lockdep_hardirqs_enabled())
> > WARNING: CPU: 0 PID: 0 at kernel/locking/lockdep.c:4875 check_flags+0x52/0x200 kernel/locking/lockdep.c:4875
> > Modules linked in:
> > CPU: 0 PID: 0 Comm: swapper/0 Not tainted 5.8.0+ #8
> > Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.13.0-1 04/01/2014
> > RIP: 0010:check_flags+0x52/0x200 kernel/locking/lockdep.c:4875
> > Code: c0 74 48 e8 40 f7 a5 03 85 c0 74 20 83 3d bd 33 53 05 00 75 17 48 c7 c7 ce 12 c9 85 48 c7 c6 04 8c ca 85 31 c0 e8 4e c1 f7 ff <0f> 0b 48 c7 c7 db 8b ca 85 e9 8c 01 00 00 85 c0 75 0f 65 8b 05 c5
> > RSP: 0000:ffffffff86203bf0 EFLAGS: 00010046
> > RAX: 1f9fa70771052a00 RBX: 0000000000000000 RCX: ffffffff8627e980
> > RDX: 0000000000000000 RSI: 0000000000000001 RDI: 0000000000000000
> > RBP: 0000000000000000 R08: ffffffff813d8494 R09: 0000000000000000
> > R10: 0000000000000012 R11: ffffffff8627e980 R12: ffffffff8627e980
> > R13: ffffffff862e3420 R14: 00000000ffffffff R15: 0000000000000046
> > FS: 0000000000000000(0000) GS:ffff88881fa00000(0000) knlGS:0000000000000000
> > CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
> > CR2: ffff88883ffff000 CR3: 0000000006275001 CR4: 0000000000770ef0
> > DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
> > DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
> > PKRU: 00000000
> > Call Trace:
> > lock_is_held_type+0x4d/0x110 kernel/locking/lockdep.c:5043
> > lock_is_held include/linux/lockdep.h:266 [inline]
> > rcu_read_lock_sched_held+0x41/0x90 kernel/rcu/update.c:136
> > trace_lock_acquire+0x49/0x120 include/trace/events/lock.h:13
> > lock_acquire+0x8d/0x2c0 kernel/locking/lockdep.c:5003
> > mutex_trylock+0xdd/0x120 kernel/locking/mutex.c:1420
>
> *groan*, indeed! Which is the direct result of lockdep recursion because
> we pulled that tracepoint out from under the recursion thing.
>
> Let me go prod this with a sharp stick...

On the other hand, the first two commits in this series did pass
weekend rcutorture testing.

I clearly need to make rcutorture more viscious. ;-)

But in the meantime, for the first two:

Tested-by: Paul E. McKenney <paulmck@xxxxxxxxxx>

Thanx, Paul