From: "Paul E. McKenney" <paulmck@linux.vnet.ibm.com>
To: Byungchul Park <byungchul.park@lge.com>
Cc: jiangshanlai@gmail.com, josh@joshtriplett.org,
rostedt@goodmis.org, mathieu.desnoyers@efficios.com,
linux-kernel@vger.kernel.org, kernel-team@lge.com
Subject: Re: [PATCH] rcu: Remove deprecated RCU debugfs tracing code
Date: Fri, 2 Mar 2018 16:54:41 -0800 [thread overview]
Message-ID: <20180303005441.GB3918@linux.vnet.ibm.com> (raw)
In-Reply-To: <1519976352-25400-1-git-send-email-byungchul.park@lge.com>
On Fri, Mar 02, 2018 at 04:39:12PM +0900, Byungchul Park wrote:
> Commit ae91aa0adb14(rcu: Remove debugfs tracing) removed the RCU debugfs
> tracing code, and left deprecated code.
>
> Because exp_workdone{0,1,2,3} won't be used anymore since the commit,
> it's better to remove code to do with those variables. Remove it.
>
> Signed-off-by: Byungchul Park <byungchul.park@lge.com>
Good catch, queued for testing and review, thank you!
Thanx, Paul
> ---
> kernel/rcu/tree.h | 4 ----
> kernel/rcu/tree_exp.h | 13 +++++--------
> 2 files changed, 5 insertions(+), 12 deletions(-)
>
> diff --git a/kernel/rcu/tree.h b/kernel/rcu/tree.h
> index 9dd0ea7..cfeb351 100644
> --- a/kernel/rcu/tree.h
> +++ b/kernel/rcu/tree.h
> @@ -234,10 +234,6 @@ struct rcu_data {
> #ifdef CONFIG_RCU_FAST_NO_HZ
> struct rcu_head oom_head;
> #endif /* #ifdef CONFIG_RCU_FAST_NO_HZ */
> - atomic_long_t exp_workdone0; /* # done by workqueue. */
> - atomic_long_t exp_workdone1; /* # done by others #1. */
> - atomic_long_t exp_workdone2; /* # done by others #2. */
> - atomic_long_t exp_workdone3; /* # done by others #3. */
> int exp_dynticks_snap; /* Double-check need for IPI. */
>
> /* 6) Callback offloading. */
> diff --git a/kernel/rcu/tree_exp.h b/kernel/rcu/tree_exp.h
> index 73e1d3d..f8e4571 100644
> --- a/kernel/rcu/tree_exp.h
> +++ b/kernel/rcu/tree_exp.h
> @@ -248,14 +248,12 @@ static void rcu_report_exp_rdp(struct rcu_state *rsp, struct rcu_data *rdp,
> }
>
> /* Common code for synchronize_{rcu,sched}_expedited() work-done checking. */
> -static bool sync_exp_work_done(struct rcu_state *rsp, atomic_long_t *stat,
> - unsigned long s)
> +static bool sync_exp_work_done(struct rcu_state *rsp, unsigned long s)
> {
> if (rcu_exp_gp_seq_done(rsp, s)) {
> trace_rcu_exp_grace_period(rsp->name, s, TPS("done"));
> /* Ensure test happens before caller kfree(). */
> smp_mb__before_atomic(); /* ^^^ */
> - atomic_long_inc(stat);
> return true;
> }
> return false;
> @@ -289,7 +287,7 @@ static bool exp_funnel_lock(struct rcu_state *rsp, unsigned long s)
> * promoting locality and is not strictly needed for correctness.
> */
> for (; rnp != NULL; rnp = rnp->parent) {
> - if (sync_exp_work_done(rsp, &rdp->exp_workdone1, s))
> + if (sync_exp_work_done(rsp, s))
> return true;
>
> /* Work not done, either wait here or go up. */
> @@ -302,8 +300,7 @@ static bool exp_funnel_lock(struct rcu_state *rsp, unsigned long s)
> rnp->grplo, rnp->grphi,
> TPS("wait"));
> wait_event(rnp->exp_wq[rcu_seq_ctr(s) & 0x3],
> - sync_exp_work_done(rsp,
> - &rdp->exp_workdone2, s));
> + sync_exp_work_done(rsp, s));
> return true;
> }
> rnp->exp_seq_rq = s; /* Followers can wait on us. */
> @@ -313,7 +310,7 @@ static bool exp_funnel_lock(struct rcu_state *rsp, unsigned long s)
> }
> mutex_lock(&rsp->exp_mutex);
> fastpath:
> - if (sync_exp_work_done(rsp, &rdp->exp_workdone3, s)) {
> + if (sync_exp_work_done(rsp, s)) {
> mutex_unlock(&rsp->exp_mutex);
> return true;
> }
> @@ -661,7 +658,7 @@ static void _synchronize_rcu_expedited(struct rcu_state *rsp,
> rdp = per_cpu_ptr(rsp->rda, raw_smp_processor_id());
> rnp = rcu_get_root(rsp);
> wait_event(rnp->exp_wq[rcu_seq_ctr(s) & 0x3],
> - sync_exp_work_done(rsp, &rdp->exp_workdone0, s));
> + sync_exp_work_done(rsp, s));
> smp_mb(); /* Workqueue actions happen before return. */
>
> /* Let the next expedited grace period start. */
> --
> 1.9.1
>
prev parent reply other threads:[~2018-03-03 0:54 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-03-02 7:39 [PATCH] rcu: Remove deprecated RCU debugfs tracing code Byungchul Park
2018-03-03 0:54 ` Paul E. McKenney [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20180303005441.GB3918@linux.vnet.ibm.com \
--to=paulmck@linux.vnet.ibm.com \
--cc=byungchul.park@lge.com \
--cc=jiangshanlai@gmail.com \
--cc=josh@joshtriplett.org \
--cc=kernel-team@lge.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mathieu.desnoyers@efficios.com \
--cc=rostedt@goodmis.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.