diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2021-01-04 19:55:19 +0100 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2021-01-04 19:55:19 +0100 |
commit | 36bbbd0e234d817938bdc52121a0f5473b3e58f5 (patch) | |
tree | 7ca4bc8320bc75848e2b0f42328d6756f763db1d /include | |
parent | Merge tag 'compiler-attributes-for-linus-v5.11' of git://github.com/ojeda/linux (diff) | |
parent | rcu-tasks: Move RCU-tasks initialization to before early_initcall() (diff) | |
download | linux-36bbbd0e234d817938bdc52121a0f5473b3e58f5.tar.xz linux-36bbbd0e234d817938bdc52121a0f5473b3e58f5.zip |
Merge branch 'rcu/urgent' of git://git.kernel.org/pub/scm/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()
Diffstat (limited to 'include')
-rw-r--r-- | include/linux/rcupdate.h | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/include/linux/rcupdate.h b/include/linux/rcupdate.h index de0826411311..fd02c5fa60cb 100644 --- a/include/linux/rcupdate.h +++ b/include/linux/rcupdate.h @@ -86,6 +86,12 @@ void rcu_sched_clock_irq(int user); void rcu_report_dead(unsigned int cpu); void rcutree_migrate_callbacks(int cpu); +#ifdef CONFIG_TASKS_RCU_GENERIC +void rcu_init_tasks_generic(void); +#else +static inline void rcu_init_tasks_generic(void) { } +#endif + #ifdef CONFIG_RCU_STALL_COMMON void rcu_sysrq_start(void); void rcu_sysrq_end(void); |