Messages in this thread Patch in this message | | | From | Liu Song <> | Subject | [PATCH] sched/debug: avoid executing show_state and causing rcu stall warning | Date | Wed, 3 Aug 2022 09:18:45 +0800 |
| |
From: Liu Song <liusong@linux.alibaba.com>
If the number of CPUs is large, "sysrq_sched_debug_show" will execute for a long time. Every time I execute "echo t > /proc/sysrq-trigger" on my 128-core machine, the rcu stall warning will be triggered. Moreover, sysrq_sched_debug_show does not need to be protected by rcu_read_lock, and no rcu stall warning will appear after adjustment.
Signed-off-by: Liu Song <liusong@linux.alibaba.com> --- kernel/sched/core.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/kernel/sched/core.c b/kernel/sched/core.c index 5555e49..82c117e 100644 --- a/kernel/sched/core.c +++ b/kernel/sched/core.c @@ -8879,11 +8879,11 @@ void show_state_filter(unsigned int state_filter) sched_show_task(p); } + rcu_read_unlock(); #ifdef CONFIG_SCHED_DEBUG if (!state_filter) sysrq_sched_debug_show(); #endif - rcu_read_unlock(); /* * Only show locks if all tasks are dumped: */ -- 1.8.3.1
| |