linux/kernel/rcu
David Dai cb444006a6 sched_ext, rcu: Eject BPF scheduler on RCU CPU stall panic
For systems using a sched_ext scheduler and has panic_on_rcu_stall
enabled, try kicking out the current scheduler before issuing a panic.

While there are numerous reasons for RCU CPU stalls that are not
directly attributed to the scheduler, deferring the panic gives
sched_ext an opportunity to provide additional debug info when ejecting
the current scheduler. Also, handling the event more gracefully allows
us to potentially recover the system instead of incurring additional
down time.

Suggested-by: Tejun Heo <tj@kernel.org>
Reviewed-by: Paul E. McKenney <paulmck@kernel.org>
Signed-off-by: David Dai <david.dai@linux.dev>
Signed-off-by: Tejun Heo <tj@kernel.org>
2025-06-24 13:05:26 -10:00
..
Kconfig srcu: Make FORCE_NEED_SRCU_NMI_SAFE depend on RCU_EXPERT 2025-03-28 21:19:17 -07:00
Kconfig.debug rcutorture: Move RCU_TORTURE_TEST_{CHK_RDR_STATE,LOG_CPU} to bool 2025-02-05 07:14:40 -08:00
Makefile rcuperf: Change rcuperf to rcuscale 2020-08-24 18:39:24 -07:00
rcu_segcblist.c rcu/nocb: Simplify (de-)offloading state machine 2024-09-09 00:03:55 +05:30
rcu_segcblist.h rcu: Remove unused declaration rcu_segcblist_offload() 2024-10-22 15:36:56 +02:00
rcu.h Merge branches 'rcu/misc-for-6.16', 'rcu/seq-counters-for-6.16' and 'rcu/torture-for-6.16' into rcu/for-next 2025-05-16 11:18:16 -04:00
rcuscale.c rcuscale: using kcalloc() to relpace kmalloc() 2025-05-16 09:00:54 -04:00
rcutorture.c Another set of timer API cleanups: 2025-05-27 08:31:21 -07:00
refscale.c refscale: Add srcu_read_lock_fast() support using "srcu-fast" 2025-02-05 07:12:05 -08:00
srcutiny.c Merge branches 'docs.2025.02.04a', 'lazypreempt.2025.03.04a', 'misc.2025.03.04a', 'srcu.2025.02.05a' and 'torture.2025.02.05a' 2025-03-04 18:47:32 -08:00
srcutree.c srcu: Use rcu_seq_done_exact() for polling API 2025-04-08 14:55:55 -04:00
sync.c rcu: Eliminate lockless accesses to rcu_sync->gp_count 2024-07-04 13:48:57 -07:00
tasks.h treewide, timers: Rename from_timer() to timer_container_of() 2025-06-08 09:07:37 +02:00
tiny.c RCU pull request for v6.15 2025-03-24 19:41:37 -07:00
tree_exp.h rcu: Remove swake_up_one_online() bandaid 2025-05-16 09:00:54 -04:00
tree_nocb.h treewide, timers: Rename from_timer() to timer_container_of() 2025-06-08 09:07:37 +02:00
tree_plugin.h rcu/nocb: Add Safe checks for access offloaded rdp 2025-05-16 09:00:54 -04:00
tree_stall.h sched_ext, rcu: Eject BPF scheduler on RCU CPU stall panic 2025-06-24 13:05:26 -10:00
tree.c Merge branches 'rcu/misc-for-6.16', 'rcu/seq-counters-for-6.16' and 'rcu/torture-for-6.16' into rcu/for-next 2025-05-16 11:18:16 -04:00
tree.h Merge branches 'rcu/misc-for-6.16', 'rcu/seq-counters-for-6.16' and 'rcu/torture-for-6.16' into rcu/for-next 2025-05-16 11:18:16 -04:00
update.c torture: Add dowarn argument to torture_sched_setaffinity() 2024-12-14 16:38:23 +01:00