[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <f067a100-baac-5c08-f432-8475667ad762@quicinc.com>
Date: Wed, 1 Dec 2021 14:58:07 +0530
From: Neeraj Upadhyay <quic_neeraju@...cinc.com>
To: Frederic Weisbecker <frederic@...nel.org>,
"Paul E . McKenney" <paulmck@...nel.org>
CC: LKML <linux-kernel@...r.kernel.org>,
Uladzislau Rezki <urezki@...il.com>,
Boqun Feng <boqun.feng@...il.com>,
Josh Triplett <josh@...htriplett.org>,
Joel Fernandes <joel@...lfernandes.org>, <rcu@...r.kernel.org>
Subject: Re: [PATCH 6/6] rcu/nocb: Merge rcu_spawn_cpu_nocb_kthread() and
rcu_spawn_one_nocb_kthread()
On 11/23/2021 6:07 AM, Frederic Weisbecker wrote:
> rcu_spawn_one_nocb_kthread() is only called by
> rcu_spawn_cpu_nocb_kthread(). Don't bother with two separate functions
> and merge them.
>
> Signed-off-by: Frederic Weisbecker <frederic@...nel.org>
> Cc: Neeraj Upadhyay <quic_neeraju@...cinc.com>
> Cc: Boqun Feng <boqun.feng@...il.com>
> Cc: Uladzislau Rezki <urezki@...il.com>
> Cc: Josh Triplett <josh@...htriplett.org>
> Cc: Joel Fernandes <joel@...lfernandes.org>
> ---
Reviewed-by: Neeraj Upadhyay <quic_neeraju@...cinc.com>
> kernel/rcu/tree_nocb.h | 15 ++++-----------
> 1 file changed, 4 insertions(+), 11 deletions(-)
>
> diff --git a/kernel/rcu/tree_nocb.h b/kernel/rcu/tree_nocb.h
> index d915780d40c8..7e8da346127a 100644
> --- a/kernel/rcu/tree_nocb.h
> +++ b/kernel/rcu/tree_nocb.h
> @@ -1225,12 +1225,15 @@ static void __init rcu_boot_init_nocb_percpu_data(struct rcu_data *rdp)
> * rcuo CB kthread, spawn it. Additionally, if the rcuo GP kthread
> * for this CPU's group has not yet been created, spawn it as well.
> */
> -static void rcu_spawn_one_nocb_kthread(int cpu)
> +static void rcu_spawn_cpu_nocb_kthread(int cpu)
> {
> struct rcu_data *rdp = per_cpu_ptr(&rcu_data, cpu);
> struct rcu_data *rdp_gp;
> struct task_struct *t;
>
> + if (!rcu_scheduler_fully_active || !rcu_nocb_is_setup)
> + return;
> +
> /* If it already has an rcuo kthread, then nothing to do. */
> if (rdp->nocb_cb_kthread)
> return;
> @@ -1254,16 +1257,6 @@ static void rcu_spawn_one_nocb_kthread(int cpu)
> WRITE_ONCE(rdp->nocb_gp_kthread, rdp_gp->nocb_gp_kthread);
> }
>
> -/*
> - * If the specified CPU is a no-CBs CPU that does not already have its
> - * rcuo kthread, spawn it.
> - */
> -static void rcu_spawn_cpu_nocb_kthread(int cpu)
> -{
> - if (rcu_scheduler_fully_active && rcu_nocb_is_setup)
> - rcu_spawn_one_nocb_kthread(cpu);
> -}
> -
> /*
> * Once the scheduler is running, spawn rcuo kthreads for all online
> * no-CBs CPUs. This assumes that the early_initcall()s happen before
>
Powered by blists - more mailing lists