From: Linus Torvalds Date: Mon, 4 Jan 2021 18:55:19 +0000 (-0800) Subject: Merge branch 'rcu/urgent' of git://git.kernel.org/pub/scm/linux/kernel/git/paulmck... X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=36bbbd0e234d817938bdc52121a0f5473b3e58f5;p=linux.git Merge branch 'rcu/urgent' of git://git./linux/kernel/git/paulmck/linux-rcu Pull RCU fix from Paul McKenney: "This is a fix for a regression in the v5.10 merge window, but it was reported quite late in the v5.10 process, plus generating and testing the fix took some time. The regression is due to commit 36dadef23fcc ("kprobes: Init kprobes in early_initcall") which on powerpc can use RCU Tasks before initialization, resulting in boot failures. The fix is straightforward, simply moving initialization of RCU Tasks before the early_initcall()s. The fix has been exposed to -next and kbuild test robot testing, and has been tested by the PowerPC guys" * 'rcu/urgent' of git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu: rcu-tasks: Move RCU-tasks initialization to before early_initcall() --- 36bbbd0e234d817938bdc52121a0f5473b3e58f5 diff --cc kernel/rcu/tasks.h index 35bdcfd84d428,73bbe792fe1e8..36607551f9665 --- a/kernel/rcu/tasks.h +++ b/kernel/rcu/tasks.h @@@ -564,10 -569,9 +564,9 @@@ static int __init rcu_spawn_tasks_kthre rcu_spawn_tasks_kthread_generic(&rcu_tasks); return 0; } - core_initcall(rcu_spawn_tasks_kthread); -#ifndef CONFIG_TINY_RCU -static void show_rcu_tasks_classic_gp_kthread(void) +#if !defined(CONFIG_TINY_RCU) +void show_rcu_tasks_classic_gp_kthread(void) { show_rcu_tasks_generic_gp_kthread(&rcu_tasks, ""); } @@@ -692,10 -696,9 +691,9 @@@ static int __init rcu_spawn_tasks_rude_ rcu_spawn_tasks_kthread_generic(&rcu_tasks_rude); return 0; } - core_initcall(rcu_spawn_tasks_rude_kthread); -#ifndef CONFIG_TINY_RCU -static void show_rcu_tasks_rude_gp_kthread(void) +#if !defined(CONFIG_TINY_RCU) +void show_rcu_tasks_rude_gp_kthread(void) { show_rcu_tasks_generic_gp_kthread(&rcu_tasks_rude, ""); } @@@ -1193,10 -1203,9 +1196,9 @@@ static int __init rcu_spawn_tasks_trace rcu_spawn_tasks_kthread_generic(&rcu_tasks_trace); return 0; } - core_initcall(rcu_spawn_tasks_trace_kthread); -#ifndef CONFIG_TINY_RCU -static void show_rcu_tasks_trace_gp_kthread(void) +#if !defined(CONFIG_TINY_RCU) +void show_rcu_tasks_trace_gp_kthread(void) { char buf[64];