FYI, we noticed the following commit (built with gcc-4.9):
commit: fe355ab27a7ea255e079c250cc92783480ab0eb0 ("EXP rcu: Diagnostics for grace-period hangs")
https://git.kernel.org/cgit/linux/kernel/git/paulmck/linux-rcu.git dev.2018.04.30b
in testcase: boot
on test machine: qemu-system-x86_64 -enable-kvm -cpu Haswell,+smep,+smap -smp 2 -m 512M
caused below changes (please refer to attached dmesg/kmsg for entire log/backtrace):
+-----------------------------------------------------+------------+------------+
| | 74debe2bb3 | fe355ab27a |
+-----------------------------------------------------+------------+------------+
| boot_successes | 13 | 5 |
| boot_failures | 3 | 11 |
| Mem-Info | 1 | |
| Out_of_memory:Kill_process | 1 | |
| INFO:task_blocked_for_more_than#seconds | 2 | 1 |
| Kernel_panic-not_syncing:hung_task:blocked_tasks | 2 | 1 |
| BUG:spinlock_recursion_on_CPU | 0 | 10 |
| RIP:delay_tsc | 0 | 2 |
| WARNING:at_kernel/rcu/tree.c:#rcu_process_callbacks | 0 | 10 |
| RIP:rcu_process_callbacks | 0 | 10 |
| RIP:__call_rcu | 0 | 6 |
| RIP:__asan_load8 | 0 | 1 |
| RIP:___might_sleep | 0 | 1 |
+-----------------------------------------------------+------------+------------+
[ 137.340295] BUG: spinlock recursion on CPU#0, rcu_torture_cbf/74
[ 137.343438] lock: rcu_preempt_state+0x0/0x6c0, .magic: dead4ead, .owner: rcu_torture_cbf/74, .owner_cpu: 0
[ 137.343438] CPU: 0 PID: 74 Comm: rcu_torture_cbf Not tainted 4.17.0-rc1-00049-gfe355ab #1
[ 137.343438] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.10.2-1 04/01/2014
[ 137.343438] Call Trace:
[ 137.343438] <IRQ>
[ 137.343438] do_raw_spin_lock+0x9c/0xaf
[ 137.343438] _raw_spin_lock_irqsave+0x75/0x83
[ 137.343438] ? rcu_process_callbacks+0x65a/0x8ae
[ 137.343438] rcu_process_callbacks+0x65a/0x8ae
[ 137.343438] ? _raw_spin_unlock_irq+0x2b/0x4f
[ 137.343438] ? run_timer_softirq+0x4e3/0x510
[ 137.343438] __do_softirq+0x127/0x279
[ 137.343438] irq_exit+0xd1/0xd9
[ 137.343438] smp_apic_timer_interrupt+0x5b/0x83
[ 137.343438] apic_timer_interrupt+0xf/0x20
[ 137.343438] </IRQ>
[ 137.343438] RIP: 0010:__call_rcu+0x12e/0x348
[ 137.343438] RSP: 0000:ffff88000e737e80 EFLAGS: 00000286 ORIG_RAX: ffffffffffffff13
[ 137.343438] RAX: 0000000000000000 RBX: ffffc900000109c0 RCX: ffffffff811c5c49
[ 137.343438] RDX: dffffc0000000000 RSI: 0000000000000004 RDI: 0000000000000286
[ 137.343438] RBP: ffffffff83e6b380 R08: fffffbfff07cd6a3 R09: fffffbfff07cd6a3
[ 137.343438] R10: 0000000000000001 R11: fffffbfff07cd6a2 R12: 0000000000000286
[ 137.343438] R13: ffffffff83e6acc0 R14: ffffffff83e6b3b8 R15: ffffffff83e6b400
[ 137.343438] ? __call_rcu+0x11f/0x348
[ 137.343438] rcu_torture_cbflood+0x125/0x200
[ 137.343438] kthread+0x19a/0x1e1
[ 137.343438] ? rcu_torture_barrier_cbf+0x18/0x18
[ 137.343438] ? __kthread_bind_mask+0x38/0x38
[ 137.343438] ret_from_fork+0x35/0x40
[ 137.343438] rcu_check_gp_start_stall: g12853 0010 gar:347 ga:391 f0x1 rcu_preempt->state:0x0
[ 137.343438] WARNING: CPU: 0 PID: 74 at kernel/rcu/tree.c:2800 rcu_process_callbacks+0x89d/0x8ae
[ 137.343438] CPU: 0 PID: 74 Comm: rcu_torture_cbf Not tainted 4.17.0-rc1-00049-gfe355ab #1
[ 137.343438] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.10.2-1 04/01/2014
[ 137.343438] RIP: 0010:rcu_process_callbacks+0x89d/0x8ae
[ 137.343438] RSP: 0000:ffffffff83e50eb0 EFLAGS: 00010082
[ 137.343438] RAX: 0000000000000050 RBX: ffffffff83e6b060 RCX: ffffffff811ab245
[ 137.343438] RDX: dffffc0000000000 RSI: dffffc0000000000 RDI: 0000000000000086
[ 137.343438] RBP: 0000000000000000 R08: 0000000000000000 R09: 0000000000000000
[ 137.343438] R10: 0000000000000187 R11: ffffed0001f86c6b R12: 0000000000000000
[ 137.343438] R13: 000000000000015b R14: ffffffff83e6acc0 R15: ffffffff83e6b380
[ 137.343438] FS: 0000000000000000(0000) GS:ffffffff83e49000(0000) knlGS:0000000000000000
[ 137.343438] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[ 137.343438] CR2: 0000000000000000 CR3: 0000000003e23001 CR4: 00000000000206f0
[ 137.343438] Call Trace:
[ 137.343438] <IRQ>
[ 137.343438] __do_softirq+0x127/0x279
[ 137.343438] irq_exit+0xd1/0xd9
[ 137.343438] smp_apic_timer_interrupt+0x5b/0x83
[ 137.343438] apic_timer_interrupt+0xf/0x20
[ 137.343438] </IRQ>
[ 137.343438] RIP: 0010:__call_rcu+0x12e/0x348
[ 137.343438] RSP: 0000:ffff88000e737e80 EFLAGS: 00000286 ORIG_RAX: ffffffffffffff13
[ 137.343438] RAX: 0000000000000000 RBX: ffffc900000109c0 RCX: ffffffff811c5c49
[ 137.343438] RDX: dffffc0000000000 RSI: 0000000000000004 RDI: 0000000000000286
[ 137.343438] RBP: ffffffff83e6b380 R08: fffffbfff07cd6a3 R09: fffffbfff07cd6a3
[ 137.343438] R10: 0000000000000001 R11: fffffbfff07cd6a2 R12: 0000000000000286
[ 137.343438] R13: ffffffff83e6acc0 R14: ffffffff83e6b3b8 R15: ffffffff83e6b400
[ 137.343438] ? __call_rcu+0x11f/0x348
[ 137.343438] rcu_torture_cbflood+0x125/0x200
[ 137.343438] kthread+0x19a/0x1e1
[ 137.343438] ? rcu_torture_barrier_cbf+0x18/0x18
[ 137.343438] ? __kthread_bind_mask+0x38/0x38
[ 137.343438] ret_from_fork+0x35/0x40
[ 137.343438] Code: 10 4c 89 6c 24 08 89 2c 24 44 8b 4c 24 40 44 8b 44 24 30 44 89 e1 48 c7 c6 20 87 42 83 48 c7 c7 58 3b a5 83 31 c0 e8 44 7b fe ff <0f> 0b e9 98 fe ff ff b8 ff ff 01 00 e9 db fe ff ff 53 48 89 fb
[ 137.343438] ---[ end trace 3edc05eb68b9b42c ]---
To reproduce:
git clone https://github.com/intel/lkp-tests.git
cd lkp-tests
bin/lkp qemu -k <bzImage> job-script # job-script is attached in this email
Thanks,
Xiaolong