sched: DL replenish lagged too much
------------[ cut here ]------------
WARNING: CPU: 0 PID: 1209 at kernel/rcu/tree_stall.h:1015 rcu_check_gp_start_stall+0x2e4/0x470 kernel/rcu/tree_stall.h:1015
Modules linked in:
CPU: 0 UID: 0 PID: 1209 Comm: kworker/0:2 Not tainted 6.16.0-rc6-syzkaller-g7abc678e3084 #0 PREEMPT(full)
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 07/12/2025
Workqueue: events drain_vmap_area_work
RIP: 0010:rcu_check_gp_start_stall+0x2e4/0x470 kernel/rcu/tree_stall.h:1015
Code: ff ff 48 c7 c7 00 44 af 99 be 04 00 00 00 e8 c3 7c 7a 00 4c 89 f7 b8 01 00 00 00 87 05 e5 83 07 18 85 c0 0f 85 17 ff ff ff 90 <0f> 0b 90 48 81 ff 80 44 14 8e 74 47 48 c7 c0 30 08 a2 8f 48 c1 e8
RSP: 0018:ffffc90000007bb8 EFLAGS: 00010046
RAX: 0000000000000000 RBX: 0000000000000a02 RCX: ffffffff81a7c00d
RDX: 0000000000000001 RSI: 0000000000000004 RDI: ffffffff8e144480
RBP: ffffc90000007e30 R08: 0000000000000003 R09: 0000000000000004
R10: dffffc0000000000 R11: fffffbfff335e880 R12: 0000000000002904
R13: 1ffff110170c75f2 R14: ffffffff8e144480 R15: dffffc0000000000
FS: 0000000000000000(0000) GS:ffff888125c23000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007f3db4938f98 CR3: 000000003356e000 CR4: 00000000003526f0
DR0: 00000000000000fd DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000600
Call Trace:
rcu_core+0x5f7/0x1710 kernel/rcu/tree.c:2827
handle_softirqs+0x286/0x870 kernel/softirq.c:579
__do_softirq kernel/softirq.c:613 [inline]
invoke_softirq kernel/softirq.c:453 [inline]
__irq_exit_rcu+0xca/0x1f0 kernel/softirq.c:680
irq_exit_rcu+0x9/0x30 kernel/softirq.c:696
instr_sysvec_irq_work arch/x86/kernel/irq_work.c:17 [inline]
sysvec_irq_work+0xa3/0xc0 arch/x86/kernel/irq_work.c:17
asm_sysvec_irq_work+0x1a/0x20 arch/x86/include/asm/idtentry.h:738
RIP: 0010:rcu_read_unlock_special+0x87/0x4c0 kernel/rcu/tree_plugin.h:694
Code: f1 f1 f1 00 f2 f2 f2 4a 89 04 2b 66 42 c7 44 2b 09 f3 f3 42 c6 44 2b 0b f3 65 44 8b 35 62 ec f7 10 41 f7 c6 00 00 f0 00 74 49 <48> c7 44 24 40 0e 36 e0 45 4a c7 04 2b 00 00 00 00 66 42 c7 44 2b
RSP: 0018:ffffc900040df1c0 EFLAGS: 00000206
RAX: dbcdc18a20a56d00 RBX: 1ffff9200081be40 RCX: dbcdc18a20a56d00
RDX: 0000000000000006 RSI: ffffffff8d996215 RDI: ffffffff8be28c00
RBP: ffffc900040df2b8 R08: ffffffff8fa1d6f7 R09: 1ffffffff1f43ade
R10: dffffc0000000000 R11: fffffbfff1f43adf R12: ffffffff8e144400
R13: dffffc0000000000 R14: 0000000000000246 R15: 0000000000000001
__rcu_read_unlock+0x84/0xe0 kernel/rcu/tree_plugin.h:438
rcu_read_unlock include/linux/rcupdate.h:873 [inline]
class_rcu_destructor include/linux/rcupdate.h:1155 [inline]
unwind_next_frame+0x19ae/0x2390 arch/x86/kernel/unwind_orc.c:680
arch_stack_walk+0x11c/0x150 arch/x86/kernel/stacktrace.c:25
stack_trace_save+0x9c/0xe0 kernel/stacktrace.c:122
save_stack+0xf5/0x1f0 mm/page_owner.c:156
__reset_page_owner+0x71/0x1f0 mm/page_owner.c:308
reset_page_owner include/linux/page_owner.h:25 [inline]
free_pages_prepare mm/page_alloc.c:1248 [inline]
__free_frozen_pages+0xc71/0xe70 mm/page_alloc.c:2706
kasan_depopulate_vmalloc_pte+0x74/0xa0 mm/kasan/shadow.c:472
apply_to_pte_range mm/memory.c:3032 [inline]
apply_to_pmd_range mm/memory.c:3076 [inline]
apply_to_pud_range mm/memory.c:3112 [inline]
apply_to_p4d_range mm/memory.c:3148 [inline]
__apply_to_page_range+0xb8f/0x1380 mm/memory.c:3184
kasan_release_vmalloc+0xa2/0xd0 mm/kasan/shadow.c:593
kasan_release_vmalloc_node mm/vmalloc.c:2249 [inline]
purge_vmap_node+0x214/0x8f0 mm/vmalloc.c:2266
__purge_vmap_area_lazy+0x7a4/0xb40 mm/vmalloc.c:2356
drain_vmap_area_work+0x27/0x40 mm/vmalloc.c:2390
process_one_work kernel/workqueue.c:3238 [inline]
process_scheduled_works+0xae1/0x17b0 kernel/workqueue.c:3321
worker_thread+0x8a0/0xda0 kernel/workqueue.c:3402
kthread+0x70e/0x8a0 kernel/kthread.c:464
ret_from_fork+0x3fc/0x770 arch/x86/kernel/process.c:148
ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:245
----------------
Code disassembly (best guess):
0: f1 int1
1: f1 int1
2: f1 int1
3: 00 f2 add %dh,%dl
5: f2 f2 4a 89 04 2b repnz repnz mov %rax,(%rbx,%r13,1)
b: 66 42 c7 44 2b 09 f3 movw $0xf3f3,0x9(%rbx,%r13,1)
12: f3
13: 42 c6 44 2b 0b f3 movb $0xf3,0xb(%rbx,%r13,1)
19: 65 44 8b 35 62 ec f7 mov %gs:0x10f7ec62(%rip),%r14d # 0x10f7ec83
20: 10
21: 41 f7 c6 00 00 f0 00 test $0xf00000,%r14d
28: 74 49 je 0x73
* 2a: 48 c7 44 24 40 0e 36 movq $0x45e0360e,0x40(%rsp) <-- trapping instruction
31: e0 45
33: 4a c7 04 2b 00 00 00 movq $0x0,(%rbx,%r13,1)
3a: 00
3b: 66 data16
3c: 42 rex.X
3d: c7 .byte 0xc7
3e: 44 rex.R
3f: 2b .byte 0x2b