All of lore.kernel.org
 help / color / mirror / Atom feed
From: Joel Fernandes <joel@joelfernandes.org>
To: "Paul E. McKenney" <paulmck@kernel.org>
Cc: Ben Dooks <ben.dooks@codethink.co.uk>,
	linux-kernel@lists.codethink.co.uk,
	Josh Triplett <josh@joshtriplett.org>,
	Steven Rostedt <rostedt@goodmis.org>,
	Mathieu Desnoyers <mathieu.desnoyers@efficios.com>,
	Lai Jiangshan <jiangshanlai@gmail.com>,
	rcu@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH] rcu: add declarations of undeclared items
Date: Mon, 14 Oct 2019 13:51:23 -0400	[thread overview]
Message-ID: <20191014175123.GC105106@google.com> (raw)
In-Reply-To: <20191012044430.GG2689@paulmck-ThinkPad-P72>

On Fri, Oct 11, 2019 at 09:44:30PM -0700, Paul E. McKenney wrote:
> On Fri, Oct 11, 2019 at 06:08:24PM +0100, Ben Dooks wrote:
> > The rcu_state, rcu_rnp_online_cpus and rcu_dynticks_curr_cpu_in_eqs
> > do not have declarations in a header. Add these to remove the
> > following sparse warnings:
> > 
> > kernel/rcu/tree.c:87:18: warning: symbol 'rcu_state' was not declared. Should it be static?
> > kernel/rcu/tree.c:191:15: warning: symbol 'rcu_rnp_online_cpus' was not declared. Should it be static?
> > kernel/rcu/tree.c:297:6: warning: symbol 'rcu_dynticks_curr_cpu_in_eqs' was not declared. Should it be static?
> > 
> > Signed-off-by: Ben Dooks <ben.dooks@codethink.co.uk>
> 
> Good catch!
> 
> However, these guys (plus one more) are actually used only in the
> kernel/rcu/tree.o translation unit, so they can be marked static.
> I made this change as shown below with your Reported-by.
> 
> Seem reasonable?
> 

LGTM.

Reviewed-by: Joel Fernandes (Google) <joel@joelfernandes.org>

thanks,

 - Joel

> 							Thanx, Paul
> 
> ------------------------------------------------------------------------
> 
> commit 02995691aa76f3e52599d4f9d9d1ab23c3574f32
> Author: Paul E. McKenney <paulmck@kernel.org>
> Date:   Fri Oct 11 21:40:09 2019 -0700
> 
>     rcu: Mark non-global functions and variables as static
>     
>     Each of rcu_state, rcu_rnp_online_cpus(), rcu_dynticks_curr_cpu_in_eqs(),
>     and rcu_dynticks_snap() are used only in the kernel/rcu/tree.o translation
>     unit, and may thus be marked static.  This commit therefore makes this
>     change.
>     
>     Reported-by: Ben Dooks <ben.dooks@codethink.co.uk>
>     Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
> 
> diff --git a/kernel/rcu/tree.c b/kernel/rcu/tree.c
> index b18fa3d..278798e 100644
> --- a/kernel/rcu/tree.c
> +++ b/kernel/rcu/tree.c
> @@ -85,7 +85,7 @@ static DEFINE_PER_CPU_SHARED_ALIGNED(struct rcu_data, rcu_data) = {
>  	.dynticks_nmi_nesting = DYNTICK_IRQ_NONIDLE,
>  	.dynticks = ATOMIC_INIT(RCU_DYNTICK_CTRL_CTR),
>  };
> -struct rcu_state rcu_state = {
> +static struct rcu_state rcu_state = {
>  	.level = { &rcu_state.node[0] },
>  	.gp_state = RCU_GP_IDLE,
>  	.gp_seq = (0UL - 300UL) << RCU_SEQ_CTR_SHIFT,
> @@ -189,7 +189,7 @@ EXPORT_SYMBOL_GPL(rcu_get_gp_kthreads_prio);
>   * held, but the bit corresponding to the current CPU will be stable
>   * in most contexts.
>   */
> -unsigned long rcu_rnp_online_cpus(struct rcu_node *rnp)
> +static unsigned long rcu_rnp_online_cpus(struct rcu_node *rnp)
>  {
>  	return READ_ONCE(rnp->qsmaskinitnext);
>  }
> @@ -295,7 +295,7 @@ static void rcu_dynticks_eqs_online(void)
>   *
>   * No ordering, as we are sampling CPU-local information.
>   */
> -bool rcu_dynticks_curr_cpu_in_eqs(void)
> +static bool rcu_dynticks_curr_cpu_in_eqs(void)
>  {
>  	struct rcu_data *rdp = this_cpu_ptr(&rcu_data);
>  
> @@ -306,7 +306,7 @@ bool rcu_dynticks_curr_cpu_in_eqs(void)
>   * Snapshot the ->dynticks counter with full ordering so as to allow
>   * stable comparison of this counter with past and future snapshots.
>   */
> -int rcu_dynticks_snap(struct rcu_data *rdp)
> +static int rcu_dynticks_snap(struct rcu_data *rdp)
>  {
>  	int snap = atomic_add_return(0, &rdp->dynticks);
>  
> diff --git a/kernel/rcu/tree.h b/kernel/rcu/tree.h
> index 1540542..f8e6c70 100644
> --- a/kernel/rcu/tree.h
> +++ b/kernel/rcu/tree.h
> @@ -402,8 +402,6 @@ static const char *tp_rcu_varname __used __tracepoint_string = rcu_name;
>  #define RCU_NAME rcu_name
>  #endif /* #else #ifdef CONFIG_TRACING */
>  
> -int rcu_dynticks_snap(struct rcu_data *rdp);
> -
>  /* Forward declarations for tree_plugin.h */
>  static void rcu_bootup_announce(void);
>  static void rcu_qs(void);

  parent reply	other threads:[~2019-10-14 17:51 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-10-11 17:08 [PATCH] rcu: add declarations of undeclared items Ben Dooks
2019-10-12  4:44 ` Paul E. McKenney
2019-10-14  7:16   ` Ben Dooks
2019-10-14 17:51   ` Joel Fernandes [this message]
2019-10-15  1:41     ` Paul E. McKenney

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=20191014175123.GC105106@google.com \
    --to=joel@joelfernandes.org \
    --cc=ben.dooks@codethink.co.uk \
    --cc=jiangshanlai@gmail.com \
    --cc=josh@joshtriplett.org \
    --cc=linux-kernel@lists.codethink.co.uk \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mathieu.desnoyers@efficios.com \
    --cc=paulmck@kernel.org \
    --cc=rcu@vger.kernel.org \
    --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.