sched: DL replenish lagged too much rcu: INFO: rcu_preempt detected stalls on CPUs/tasks: rcu: Tasks blocked on level-0 rcu_node (CPUs 0-1): P5822/1:b..l P7016/1:b..l rcu: (detected by 1, t=10503 jiffies, g=12261, q=622 ncpus=2) task:syz-executor state:R running task stack:24128 pid:7016 tgid:7016 ppid:5815 flags:0x00000000 Call Trace: context_switch kernel/sched/core.c:5369 [inline] __schedule+0x1850/0x4c30 kernel/sched/core.c:6756 preempt_schedule_common+0x84/0xd0 kernel/sched/core.c:6935 preempt_schedule+0xe1/0xf0 kernel/sched/core.c:6959 preempt_schedule_thunk+0x1a/0x30 arch/x86/entry/thunk.S:12 __raw_spin_unlock include/linux/spinlock_api_smp.h:143 [inline] _raw_spin_unlock+0x3e/0x50 kernel/locking/spinlock.c:186 spin_unlock include/linux/spinlock.h:391 [inline] change_pte_range mm/mprotect.c:293 [inline] change_pmd_range mm/mprotect.c:417 [inline] change_pud_range mm/mprotect.c:480 [inline] change_p4d_range mm/mprotect.c:506 [inline] change_protection_range mm/mprotect.c:534 [inline] change_protection+0x2c43/0x3710 mm/mprotect.c:568 mprotect_fixup+0x7c5/0xaa0 mm/mprotect.c:684 do_mprotect_pkey+0x8d7/0xd70 mm/mprotect.c:840 __do_sys_mprotect mm/mprotect.c:861 [inline] __se_sys_mprotect mm/mprotect.c:858 [inline] __x64_sys_mprotect+0x80/0x90 mm/mprotect.c:858 do_syscall_x64 arch/x86/entry/common.c:52 [inline] do_syscall_64+0xf3/0x230 arch/x86/entry/common.c:83 entry_SYSCALL_64_after_hwframe+0x77/0x7f RIP: 0033:0x7f4cbcf85dd7 RSP: 002b:00007ffdf8a21948 EFLAGS: 00000206 ORIG_RAX: 000000000000000a RAX: ffffffffffffffda RBX: 00007f4cbd14c700 RCX: 00007f4cbcf85dd7 RDX: 0000000000000001 RSI: 00000000000c0000 RDI: 00007f4cbd085000 RBP: 00007ffdf8a21a88 R08: 000055557e824810 R09: 000055557e824830 R10: 0000000000000005 R11: 0000000000000206 R12: 00007ffdf8a21aa0 R13: 00007ffdf8a21a88 R14: 00007ffdf8a21a20 R15: 00007ffdf8a21a18 task:syz-executor state:R running task stack:22784 pid:5822 tgid:5822 ppid:5815 flags:0x00004004 Call Trace: context_switch kernel/sched/core.c:5369 [inline] __schedule+0x1850/0x4c30 kernel/sched/core.c:6756 preempt_schedule_irq+0xfb/0x1c0 kernel/sched/core.c:7078 irqentry_exit+0x5e/0x90 kernel/entry/common.c:354 asm_sysvec_apic_timer_interrupt+0x1a/0x20 arch/x86/include/asm/idtentry.h:702 RIP: 0010:lock_release+0x35/0xa30 kernel/locking/lockdep.c:5857 Code: 56 41 55 41 54 53 48 83 e4 e0 48 81 ec 00 01 00 00 49 89 f5 48 89 7c 24 18 65 48 8b 04 25 28 00 00 00 48 89 84 24 e0 00 00 00 <49> bf 00 00 00 00 00 fc ff df 48 c7 44 24 60 b3 8a b5 41 48 c7 44 RSP: 0018:ffffc90003eaf520 EFLAGS: 00000282 RAX: cdf72ac599cf3f00 RBX: 0000000000000001 RCX: ffff88802fb59e00 RDX: 0000000000000000 RSI: ffffffff82114827 RDI: ffffffff8e937ae0 RBP: ffffc90003eaf658 R08: ffffffff821147b6 R09: 1ffff110038099a2 R10: dffffc0000000000 R11: ffffed10038099a3 R12: 0000000000000001 R13: ffffffff82114827 R14: ffff88801c04cd54 R15: ffff88801c04cd60 rcu_lock_release include/linux/rcupdate.h:347 [inline] rcu_read_unlock include/linux/rcupdate.h:880 [inline] page_ext_put+0xa3/0xc0 mm/page_ext.c:550 __reset_page_owner+0x2de/0x430 mm/page_owner.c:300 reset_page_owner include/linux/page_owner.h:25 [inline] free_pages_prepare mm/page_alloc.c:1127 [inline] free_unref_page+0xd3f/0x1010 mm/page_alloc.c:2657 tlb_batch_list_free mm/mmu_gather.c:159 [inline] tlb_finish_mmu+0x11f/0x200 mm/mmu_gather.c:468 exit_mmap+0x496/0xc20 mm/mmap.c:1681 __mmput+0x115/0x3c0 kernel/fork.c:1353 exit_mm+0x220/0x310 kernel/exit.c:570 do_exit+0x9b2/0x28e0 kernel/exit.c:925 do_group_exit+0x207/0x2c0 kernel/exit.c:1087 get_signal+0x16b2/0x1750 kernel/signal.c:3017 arch_do_signal_or_restart+0x96/0x860 arch/x86/kernel/signal.c:337 exit_to_user_mode_loop kernel/entry/common.c:111 [inline] exit_to_user_mode_prepare include/linux/entry-common.h:329 [inline] __syscall_exit_to_user_mode_work kernel/entry/common.c:207 [inline] syscall_exit_to_user_mode+0xce/0x340 kernel/entry/common.c:218 do_syscall_64+0x100/0x230 arch/x86/entry/common.c:89 entry_SYSCALL_64_after_hwframe+0x77/0x7f RIP: 0033:0x7f97fa17bf53 RSP: 002b:00007ffed0fca978 EFLAGS: 00000202 ORIG_RAX: 000000000000003d RAX: fffffffffffffe00 RBX: 00000000000016c6 RCX: 00007f97fa17bf53 RDX: 0000000040000000 RSI: 00007ffed0fca98c RDI: 00000000ffffffff RBP: 00007ffed0fca98c R08: 0000000000000000 R09: 0000000000000000 R10: 0000000000000000 R11: 0000000000000202 R12: 0000000000000008 R13: 0000000000000003 R14: 0000000000000009 R15: 0000000000000000 rcu: rcu_preempt kthread starved for 7702 jiffies! g12261 f0x0 RCU_GP_WAIT_FQS(5) ->state=0x0 ->cpu=1 rcu: Unless rcu_preempt kthread gets sufficient CPU time, OOM is now expected behavior. rcu: RCU grace-period kthread stack dump: task:rcu_preempt state:R running task stack:26072 pid:17 tgid:17 ppid:2 flags:0x00004000 Call Trace: context_switch kernel/sched/core.c:5369 [inline] __schedule+0x1850/0x4c30 kernel/sched/core.c:6756 __schedule_loop kernel/sched/core.c:6833 [inline] schedule+0x14b/0x320 kernel/sched/core.c:6848 schedule_timeout+0x15a/0x290 kernel/time/sleep_timeout.c:99 rcu_gp_fqs_loop+0x2df/0x1330 kernel/rcu/tree.c:2045 rcu_gp_kthread+0xa7/0x3b0 kernel/rcu/tree.c:2247 kthread+0x2f0/0x390 kernel/kthread.c:389 ret_from_fork+0x4b/0x80 arch/x86/kernel/process.c:147 ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:244 rcu: Stack dump where RCU GP kthread last ran: CPU: 1 UID: 0 PID: 24 Comm: ksoftirqd/1 Not tainted 6.13.0-rc2-syzkaller-00390-g9bc5c9515b48 #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 11/25/2024 RIP: 0010:check_preemption_disabled+0x19/0x120 lib/smp_processor_id.c:14 Code: 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 41 57 41 56 41 54 53 48 83 ec 10 65 48 8b 04 25 28 00 00 00 48 89 44 24 08 <65> 8b 1d 9c 6e 39 74 65 8b 05 91 6e 39 74 a9 ff ff ff 7f 74 26 65 RSP: 0018:ffffc900001e7128 EFLAGS: 00000286 RAX: f70cbe2a245e2a00 RBX: 0000000000000001 RCX: ffffffff8994a5ce RDX: ffff88801d2f8000 RSI: ffffffff8c5f9760 RDI: ffffffff8c5f9720 RBP: 0000000000000001 R08: ffffffff8994a5f4 R09: 1ffffffff2034136 R10: dffffc0000000000 R11: fffffbfff2034137 R12: ffff888054a5b198 R13: ffff888054a5b140 R14: 0000000000000050 R15: dffffc0000000000 FS: 0000000000000000(0000) GS:ffff8880b8700000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 00007ffd7fc0ff7c CR3: 000000002f798000 CR4: 00000000003526f0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 Call Trace: rcu_is_watching_curr_cpu include/linux/context_tracking.h:128 [inline] rcu_is_watching+0x15/0xb0 kernel/rcu/tree.c:737 trace_netif_rx_entry+0x7e/0x210 include/trace/events/net.h:257 __netif_rx+0x70/0xc0 net/core/dev.c:5220 loopback_xmit+0x454/0x6b0 drivers/net/loopback.c:89 __netdev_start_xmit include/linux/netdevice.h:5045 [inline] netdev_start_xmit include/linux/netdevice.h:5054 [inline] generic_xdp_tx+0x198/0x3b0 net/core/dev.c:5124 do_xdp_generic+0x952/0xd30 net/core/dev.c:5158 __netif_receive_skb_core+0x1ce9/0x4690 net/core/dev.c:5492 __netif_receive_skb_one_core net/core/dev.c:5670 [inline] __netif_receive_skb+0x12f/0x650 net/core/dev.c:5785 process_backlog+0x662/0x15b0 net/core/dev.c:6117 __napi_poll+0xcb/0x490 net/core/dev.c:6883 napi_poll net/core/dev.c:6952 [inline] net_rx_action+0x89b/0x1240 net/core/dev.c:7074 handle_softirqs+0x2d4/0x9b0 kernel/softirq.c:561 run_ksoftirqd+0xca/0x130 kernel/softirq.c:950 smpboot_thread_fn+0x544/0xa30 kernel/smpboot.c:164 kthread+0x2f0/0x390 kernel/kthread.c:389 ret_from_fork+0x4b/0x80 arch/x86/kernel/process.c:147 ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:244