diff options
Diffstat (limited to 'kernel/rcu/tree.c')
| -rw-r--r-- | kernel/rcu/tree.c | 20 |
1 files changed, 10 insertions, 10 deletions
diff --git a/kernel/rcu/tree.c b/kernel/rcu/tree.c index 2a734692a581..c4db0e20b035 100644 --- a/kernel/rcu/tree.c +++ b/kernel/rcu/tree.c | |||
| @@ -1234,10 +1234,10 @@ static int rcu_implicit_dynticks_qs(struct rcu_data *rdp) | |||
| 1234 | } | 1234 | } |
| 1235 | 1235 | ||
| 1236 | /* | 1236 | /* |
| 1237 | * Has this CPU encountered a cond_resched_rcu_qs() since the | 1237 | * Has this CPU encountered a cond_resched() since the beginning |
| 1238 | * beginning of the grace period? For this to be the case, | 1238 | * of the grace period? For this to be the case, the CPU has to |
| 1239 | * the CPU has to have noticed the current grace period. This | 1239 | * have noticed the current grace period. This might not be the |
| 1240 | * might not be the case for nohz_full CPUs looping in the kernel. | 1240 | * case for nohz_full CPUs looping in the kernel. |
| 1241 | */ | 1241 | */ |
| 1242 | jtsq = jiffies_till_sched_qs; | 1242 | jtsq = jiffies_till_sched_qs; |
| 1243 | ruqp = per_cpu_ptr(&rcu_dynticks.rcu_urgent_qs, rdp->cpu); | 1243 | ruqp = per_cpu_ptr(&rcu_dynticks.rcu_urgent_qs, rdp->cpu); |
| @@ -2049,7 +2049,7 @@ static bool rcu_gp_init(struct rcu_state *rsp) | |||
| 2049 | rnp->level, rnp->grplo, | 2049 | rnp->level, rnp->grplo, |
| 2050 | rnp->grphi, rnp->qsmask); | 2050 | rnp->grphi, rnp->qsmask); |
| 2051 | raw_spin_unlock_irq_rcu_node(rnp); | 2051 | raw_spin_unlock_irq_rcu_node(rnp); |
| 2052 | cond_resched_rcu_qs(); | 2052 | cond_resched_tasks_rcu_qs(); |
| 2053 | WRITE_ONCE(rsp->gp_activity, jiffies); | 2053 | WRITE_ONCE(rsp->gp_activity, jiffies); |
| 2054 | } | 2054 | } |
| 2055 | 2055 | ||
| @@ -2151,7 +2151,7 @@ static void rcu_gp_cleanup(struct rcu_state *rsp) | |||
| 2151 | sq = rcu_nocb_gp_get(rnp); | 2151 | sq = rcu_nocb_gp_get(rnp); |
| 2152 | raw_spin_unlock_irq_rcu_node(rnp); | 2152 | raw_spin_unlock_irq_rcu_node(rnp); |
| 2153 | rcu_nocb_gp_cleanup(sq); | 2153 | rcu_nocb_gp_cleanup(sq); |
| 2154 | cond_resched_rcu_qs(); | 2154 | cond_resched_tasks_rcu_qs(); |
| 2155 | WRITE_ONCE(rsp->gp_activity, jiffies); | 2155 | WRITE_ONCE(rsp->gp_activity, jiffies); |
| 2156 | rcu_gp_slow(rsp, gp_cleanup_delay); | 2156 | rcu_gp_slow(rsp, gp_cleanup_delay); |
| 2157 | } | 2157 | } |
| @@ -2202,7 +2202,7 @@ static int __noreturn rcu_gp_kthread(void *arg) | |||
| 2202 | /* Locking provides needed memory barrier. */ | 2202 | /* Locking provides needed memory barrier. */ |
| 2203 | if (rcu_gp_init(rsp)) | 2203 | if (rcu_gp_init(rsp)) |
| 2204 | break; | 2204 | break; |
| 2205 | cond_resched_rcu_qs(); | 2205 | cond_resched_tasks_rcu_qs(); |
| 2206 | WRITE_ONCE(rsp->gp_activity, jiffies); | 2206 | WRITE_ONCE(rsp->gp_activity, jiffies); |
| 2207 | WARN_ON(signal_pending(current)); | 2207 | WARN_ON(signal_pending(current)); |
| 2208 | trace_rcu_grace_period(rsp->name, | 2208 | trace_rcu_grace_period(rsp->name, |
| @@ -2247,7 +2247,7 @@ static int __noreturn rcu_gp_kthread(void *arg) | |||
| 2247 | trace_rcu_grace_period(rsp->name, | 2247 | trace_rcu_grace_period(rsp->name, |
| 2248 | READ_ONCE(rsp->gpnum), | 2248 | READ_ONCE(rsp->gpnum), |
| 2249 | TPS("fqsend")); | 2249 | TPS("fqsend")); |
| 2250 | cond_resched_rcu_qs(); | 2250 | cond_resched_tasks_rcu_qs(); |
| 2251 | WRITE_ONCE(rsp->gp_activity, jiffies); | 2251 | WRITE_ONCE(rsp->gp_activity, jiffies); |
| 2252 | ret = 0; /* Force full wait till next FQS. */ | 2252 | ret = 0; /* Force full wait till next FQS. */ |
| 2253 | j = jiffies_till_next_fqs; | 2253 | j = jiffies_till_next_fqs; |
| @@ -2260,7 +2260,7 @@ static int __noreturn rcu_gp_kthread(void *arg) | |||
| 2260 | } | 2260 | } |
| 2261 | } else { | 2261 | } else { |
| 2262 | /* Deal with stray signal. */ | 2262 | /* Deal with stray signal. */ |
| 2263 | cond_resched_rcu_qs(); | 2263 | cond_resched_tasks_rcu_qs(); |
| 2264 | WRITE_ONCE(rsp->gp_activity, jiffies); | 2264 | WRITE_ONCE(rsp->gp_activity, jiffies); |
| 2265 | WARN_ON(signal_pending(current)); | 2265 | WARN_ON(signal_pending(current)); |
| 2266 | trace_rcu_grace_period(rsp->name, | 2266 | trace_rcu_grace_period(rsp->name, |
| @@ -2782,7 +2782,7 @@ static void force_qs_rnp(struct rcu_state *rsp, int (*f)(struct rcu_data *rsp)) | |||
| 2782 | struct rcu_node *rnp; | 2782 | struct rcu_node *rnp; |
| 2783 | 2783 | ||
| 2784 | rcu_for_each_leaf_node(rsp, rnp) { | 2784 | rcu_for_each_leaf_node(rsp, rnp) { |
| 2785 | cond_resched_rcu_qs(); | 2785 | cond_resched_tasks_rcu_qs(); |
| 2786 | mask = 0; | 2786 | mask = 0; |
| 2787 | raw_spin_lock_irqsave_rcu_node(rnp, flags); | 2787 | raw_spin_lock_irqsave_rcu_node(rnp, flags); |
| 2788 | if (rnp->qsmask == 0) { | 2788 | if (rnp->qsmask == 0) { |
