aboutsummaryrefslogtreecommitdiffstats
path: root/kernel/rcu/tree.c
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/rcu/tree.c')
-rw-r--r--kernel/rcu/tree.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/kernel/rcu/tree.c b/kernel/rcu/tree.c
index 346948b51b0b..3c23435d2083 100644
--- a/kernel/rcu/tree.c
+++ b/kernel/rcu/tree.c
@@ -3776,12 +3776,16 @@ int rcutree_online_cpu(unsigned int cpu)
3776{ 3776{
3777 sync_sched_exp_online_cleanup(cpu); 3777 sync_sched_exp_online_cleanup(cpu);
3778 rcutree_affinity_setting(cpu, -1); 3778 rcutree_affinity_setting(cpu, -1);
3779 if (IS_ENABLED(CONFIG_TREE_SRCU))
3780 srcu_online_cpu(cpu);
3779 return 0; 3781 return 0;
3780} 3782}
3781 3783
3782int rcutree_offline_cpu(unsigned int cpu) 3784int rcutree_offline_cpu(unsigned int cpu)
3783{ 3785{
3784 rcutree_affinity_setting(cpu, cpu); 3786 rcutree_affinity_setting(cpu, cpu);
3787 if (IS_ENABLED(CONFIG_TREE_SRCU))
3788 srcu_offline_cpu(cpu);
3785 return 0; 3789 return 0;
3786} 3790}
3787 3791
@@ -4157,6 +4161,8 @@ void __init rcu_init(void)
4157 for_each_online_cpu(cpu) { 4161 for_each_online_cpu(cpu) {
4158 rcutree_prepare_cpu(cpu); 4162 rcutree_prepare_cpu(cpu);
4159 rcu_cpu_starting(cpu); 4163 rcu_cpu_starting(cpu);
4164 if (IS_ENABLED(CONFIG_TREE_SRCU))
4165 srcu_online_cpu(cpu);
4160 } 4166 }
4161} 4167}
4162 4168