summaryrefslogtreecommitdiffstats
path: root/kernel/rcu/tree.c
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/rcu/tree.c')
-rw-r--r--kernel/rcu/tree.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/kernel/rcu/tree.c b/kernel/rcu/tree.c
index 71395e91b876..81105141b6a8 100644
--- a/kernel/rcu/tree.c
+++ b/kernel/rcu/tree.c
@@ -1912,7 +1912,7 @@ rcu_report_unblock_qs_rnp(struct rcu_node *rnp, unsigned long flags)
1912 struct rcu_node *rnp_p; 1912 struct rcu_node *rnp_p;
1913 1913
1914 raw_lockdep_assert_held_rcu_node(rnp); 1914 raw_lockdep_assert_held_rcu_node(rnp);
1915 if (WARN_ON_ONCE(!IS_ENABLED(CONFIG_PREEMPT)) || 1915 if (WARN_ON_ONCE(!IS_ENABLED(CONFIG_PREEMPTION)) ||
1916 WARN_ON_ONCE(rcu_preempt_blocked_readers_cgp(rnp)) || 1916 WARN_ON_ONCE(rcu_preempt_blocked_readers_cgp(rnp)) ||
1917 rnp->qsmask != 0) { 1917 rnp->qsmask != 0) {
1918 raw_spin_unlock_irqrestore_rcu_node(rnp, flags); 1918 raw_spin_unlock_irqrestore_rcu_node(rnp, flags);
@@ -2266,7 +2266,7 @@ static void force_qs_rnp(int (*f)(struct rcu_data *rdp))
2266 mask = 0; 2266 mask = 0;
2267 raw_spin_lock_irqsave_rcu_node(rnp, flags); 2267 raw_spin_lock_irqsave_rcu_node(rnp, flags);
2268 if (rnp->qsmask == 0) { 2268 if (rnp->qsmask == 0) {
2269 if (!IS_ENABLED(CONFIG_PREEMPT) || 2269 if (!IS_ENABLED(CONFIG_PREEMPTION) ||
2270 rcu_preempt_blocked_readers_cgp(rnp)) { 2270 rcu_preempt_blocked_readers_cgp(rnp)) {
2271 /* 2271 /*
2272 * No point in scanning bits because they 2272 * No point in scanning bits because they
@@ -2681,7 +2681,7 @@ static int rcu_blocking_is_gp(void)
2681{ 2681{
2682 int ret; 2682 int ret;
2683 2683
2684 if (IS_ENABLED(CONFIG_PREEMPT)) 2684 if (IS_ENABLED(CONFIG_PREEMPTION))
2685 return rcu_scheduler_active == RCU_SCHEDULER_INACTIVE; 2685 return rcu_scheduler_active == RCU_SCHEDULER_INACTIVE;
2686 might_sleep(); /* Check for RCU read-side critical section. */ 2686 might_sleep(); /* Check for RCU read-side critical section. */
2687 preempt_disable(); 2687 preempt_disable();
@@ -3297,13 +3297,13 @@ static int __init rcu_spawn_gp_kthread(void)
3297 t = kthread_create(rcu_gp_kthread, NULL, "%s", rcu_state.name); 3297 t = kthread_create(rcu_gp_kthread, NULL, "%s", rcu_state.name);
3298 if (WARN_ONCE(IS_ERR(t), "%s: Could not start grace-period kthread, OOM is now expected behavior\n", __func__)) 3298 if (WARN_ONCE(IS_ERR(t), "%s: Could not start grace-period kthread, OOM is now expected behavior\n", __func__))
3299 return 0; 3299 return 0;
3300 rnp = rcu_get_root();
3301 raw_spin_lock_irqsave_rcu_node(rnp, flags);
3302 rcu_state.gp_kthread = t;
3303 if (kthread_prio) { 3300 if (kthread_prio) {
3304 sp.sched_priority = kthread_prio; 3301 sp.sched_priority = kthread_prio;
3305 sched_setscheduler_nocheck(t, SCHED_FIFO, &sp); 3302 sched_setscheduler_nocheck(t, SCHED_FIFO, &sp);
3306 } 3303 }
3304 rnp = rcu_get_root();
3305 raw_spin_lock_irqsave_rcu_node(rnp, flags);
3306 rcu_state.gp_kthread = t;
3307 raw_spin_unlock_irqrestore_rcu_node(rnp, flags); 3307 raw_spin_unlock_irqrestore_rcu_node(rnp, flags);
3308 wake_up_process(t); 3308 wake_up_process(t);
3309 rcu_spawn_nocb_kthreads(); 3309 rcu_spawn_nocb_kthreads();