diff options
Diffstat (limited to 'kernel/rcu/tree.c')
-rw-r--r-- | kernel/rcu/tree.c | 6 |
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 | ||
3782 | int rcutree_offline_cpu(unsigned int cpu) | 3784 | int 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 | ||