Re: [PATCH tip/core/rcu 7/9] nohz_full: Add full-system-idle arguments to API

Josh Triplett
2013-08-18T03:11:30Z

On Sat, Aug 17, 2013 at 06:49:42PM -0700, Paul E. McKenney wrote:
> From: "Paul E. McKenney" <paulmck@linux.vnet.ibm.com>
>
> This commit adds an isidle and jiffies argument to force_qs_rnp(),
> dyntick_save_progress_counter(), and rcu_implicit_dynticks_qs() to enable
> RCU's force-quiescent-state process to check for full-system idle.
>
> Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
> Cc: Frederic Weisbecker <fweisbec@gmail.com>
> Cc: Steven Rostedt <rostedt@goodmis.org>
> Cc: Lai Jiangshan <laijs@cn.fujitsu.com>
> [ paulmck: Use true and false for boolean constants per Lai Jiangshan. ]

One optional comment below; with or without that,
Reviewed-by: Josh Triplett <josh@joshtriplett.org>

> kernel/rcutree.c | 23 ++++++++++++++++-------
> 1 file changed, 16 insertions(+), 7 deletions(-)
>
> diff --git a/kernel/rcutree.c b/kernel/rcutree.c
> index b0d2cc3..f1a0b05 100644
> --- a/kernel/rcutree.c
> +++ b/kernel/rcutree.c
> @@ -246,7 +246,9 @@ module_param(jiffies_till_next_fqs, ulong, 0644);
>
> static void rcu_start_gp_advanced(struct rcu_state *rsp, struct rcu_node *rnp,
> struct rcu_data *rdp);
> -static void force_qs_rnp(struct rcu_state *rsp, int (*f)(struct rcu_data *));
> +static void force_qs_rnp(struct rcu_state *rsp,
> + int (*f)(struct rcu_data *, bool *, unsigned long *),
> + bool *isidle, unsigned long *maxj);

You might consider giving the parameters of the function pointer names
(both here and in the definition), to make it more self-documenting.

- Josh Triplett