diff options
| author | Paul E. McKenney <paulmck@linux.vnet.ibm.com> | 2018-01-10 15:36:00 -0500 |
|---|---|---|
| committer | Paul E. McKenney <paulmck@linux.vnet.ibm.com> | 2018-02-20 19:10:28 -0500 |
| commit | 01c495f72a3b5a210e5689deba1ef33c82e8aa30 (patch) | |
| tree | 7ae45dbae3388c683fefa52617ed782eb25c3c4b /kernel/rcu/tree.c | |
| parent | 62df63e048daf4e29373bbbaae3751e5af5d9502 (diff) | |
rcu: Remove obsolete __rcu_pending() statistics for debugfs
The debugfs interface displayed statistics on RCU-pending checks
but this interface has since been removed. This commit therefore
removes the no-longer-used rcu_data structure's ->n_rcu_pending,
->n_rp_core_needs_qs, ->n_rp_report_qs, ->n_rp_cb_ready,
->n_rp_cpu_needs_gp, ->n_rp_gp_completed, ->n_rp_gp_started,
->n_rp_nocb_defer_wakeup, and ->n_rp_need_nothing fields along with
their updates.
If this information proves necessary in the future, the corresponding
event traces will be added.
Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Diffstat (limited to 'kernel/rcu/tree.c')
| -rw-r--r-- | kernel/rcu/tree.c | 31 |
1 files changed, 6 insertions, 25 deletions
diff --git a/kernel/rcu/tree.c b/kernel/rcu/tree.c index 8e0711954bbf..99d59be761d1 100644 --- a/kernel/rcu/tree.c +++ b/kernel/rcu/tree.c | |||
| @@ -3354,8 +3354,6 @@ static int __rcu_pending(struct rcu_state *rsp, struct rcu_data *rdp) | |||
| 3354 | { | 3354 | { |
| 3355 | struct rcu_node *rnp = rdp->mynode; | 3355 | struct rcu_node *rnp = rdp->mynode; |
| 3356 | 3356 | ||
| 3357 | rdp->n_rcu_pending++; | ||
| 3358 | |||
| 3359 | /* Check for CPU stalls, if enabled. */ | 3357 | /* Check for CPU stalls, if enabled. */ |
| 3360 | check_cpu_stall(rsp, rdp); | 3358 | check_cpu_stall(rsp, rdp); |
| 3361 | 3359 | ||
| @@ -3364,48 +3362,31 @@ static int __rcu_pending(struct rcu_state *rsp, struct rcu_data *rdp) | |||
| 3364 | return 0; | 3362 | return 0; |
| 3365 | 3363 | ||
| 3366 | /* Is the RCU core waiting for a quiescent state from this CPU? */ | 3364 | /* Is the RCU core waiting for a quiescent state from this CPU? */ |
| 3367 | if (rcu_scheduler_fully_active && | 3365 | if (rdp->core_needs_qs && !rdp->cpu_no_qs.b.norm) |
| 3368 | rdp->core_needs_qs && rdp->cpu_no_qs.b.norm && | ||
| 3369 | rdp->rcu_qs_ctr_snap == __this_cpu_read(rcu_dynticks.rcu_qs_ctr)) { | ||
| 3370 | rdp->n_rp_core_needs_qs++; | ||
| 3371 | } else if (rdp->core_needs_qs && !rdp->cpu_no_qs.b.norm) { | ||
| 3372 | rdp->n_rp_report_qs++; | ||
| 3373 | return 1; | 3366 | return 1; |
| 3374 | } | ||
| 3375 | 3367 | ||
| 3376 | /* Does this CPU have callbacks ready to invoke? */ | 3368 | /* Does this CPU have callbacks ready to invoke? */ |
| 3377 | if (rcu_segcblist_ready_cbs(&rdp->cblist)) { | 3369 | if (rcu_segcblist_ready_cbs(&rdp->cblist)) |
| 3378 | rdp->n_rp_cb_ready++; | ||
| 3379 | return 1; | 3370 | return 1; |
| 3380 | } | ||
| 3381 | 3371 | ||
| 3382 | /* Has RCU gone idle with this CPU needing another grace period? */ | 3372 | /* Has RCU gone idle with this CPU needing another grace period? */ |
| 3383 | if (cpu_needs_another_gp(rsp, rdp)) { | 3373 | if (cpu_needs_another_gp(rsp, rdp)) |
| 3384 | rdp->n_rp_cpu_needs_gp++; | ||
| 3385 | return 1; | 3374 | return 1; |
| 3386 | } | ||
| 3387 | 3375 | ||
| 3388 | /* Has another RCU grace period completed? */ | 3376 | /* Has another RCU grace period completed? */ |
| 3389 | if (READ_ONCE(rnp->completed) != rdp->completed) { /* outside lock */ | 3377 | if (READ_ONCE(rnp->completed) != rdp->completed) /* outside lock */ |
| 3390 | rdp->n_rp_gp_completed++; | ||
| 3391 | return 1; | 3378 | return 1; |
| 3392 | } | ||
| 3393 | 3379 | ||
| 3394 | /* Has a new RCU grace period started? */ | 3380 | /* Has a new RCU grace period started? */ |
| 3395 | if (READ_ONCE(rnp->gpnum) != rdp->gpnum || | 3381 | if (READ_ONCE(rnp->gpnum) != rdp->gpnum || |
| 3396 | unlikely(READ_ONCE(rdp->gpwrap))) { /* outside lock */ | 3382 | unlikely(READ_ONCE(rdp->gpwrap))) /* outside lock */ |
| 3397 | rdp->n_rp_gp_started++; | ||
| 3398 | return 1; | 3383 | return 1; |
| 3399 | } | ||
| 3400 | 3384 | ||
| 3401 | /* Does this CPU need a deferred NOCB wakeup? */ | 3385 | /* Does this CPU need a deferred NOCB wakeup? */ |
| 3402 | if (rcu_nocb_need_deferred_wakeup(rdp)) { | 3386 | if (rcu_nocb_need_deferred_wakeup(rdp)) |
| 3403 | rdp->n_rp_nocb_defer_wakeup++; | ||
| 3404 | return 1; | 3387 | return 1; |
| 3405 | } | ||
| 3406 | 3388 | ||
| 3407 | /* nothing to do */ | 3389 | /* nothing to do */ |
| 3408 | rdp->n_rp_need_nothing++; | ||
| 3409 | return 0; | 3390 | return 0; |
| 3410 | } | 3391 | } |
| 3411 | 3392 | ||
