lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20181002033801.GP4222@linux.ibm.com>
Date:   Mon, 1 Oct 2018 20:38:01 -0700
From:   "Paul E. McKenney" <paulmck@...ux.ibm.com>
To:     Joel Fernandes <joel@...lfernandes.org>
Cc:     linux-kernel@...r.kernel.org, kernel-team@...roid.com,
        Ingo Molnar <mingo@...hat.com>,
        Josh Triplett <josh@...htriplett.org>,
        Lai Jiangshan <jiangshanlai@...il.com>,
        Mathieu Desnoyers <mathieu.desnoyers@...icios.com>,
        Peter Zijlstra <peterz@...radead.org>,
        Steven Rostedt <rostedt@...dmis.org>
Subject: Re: [PATCH RFC 1/2] sched/core: Convert synchronize_rcu_mult to
 synchronize_rcu

On Mon, Oct 01, 2018 at 06:20:11PM -0700, Joel Fernandes wrote:
> From: "Joel Fernandes (Google)" <joel@...lfernandes.org>
> 
> synchronize_rcu_mult is now obsolete since all the different RCU flavors
> have been consolidated and the API is now common on the updater side.
> sched/core.c is the only user of it. All call_rcu_<flavor> calls boil
> down to the same call_rcu. So there's no point in calling
> synchronize_rcu_mult infact it could potentially be slower due to
> waiting for the call_rcu callback twice. Just call synchronize_rcu here
> which should do the job.
> 
> Signed-off-by: Joel Fernandes (Google) <joel@...lfernandes.org>

Well, the theory was that I was going to keep this series hidden until
the consolidation hit mainline just to avoid confusion, but please see
5fc9d4e000b1 ("rcu: Eliminate synchronize_rcu_mult()"), which I just
now pushed to -rcu.  To your credit, you did get most of it.  ;-)

Here is the full list:

pick 1f3e6eaed8fa Apply coccinelle script to consolidate calls to RCU-bh and RCU-sched
pick 5fc9d4e000b1 rcu: Eliminate synchronize_rcu_mult()
pick a8475496801e rcu: Consolidate the RCU update functions invoked by sync.c
pick d8ffb03461ad sched/membarrier: Replace synchronize_sched() with synchronize_rcu()

Of course, I will need to rerun the coccinelle script and split the
result across subsystems, but I am waiting until the current pull
request hits mainline.  Let's face it, none of us need to do debugging
on someone consolidating their RCU updates before at least this commit
and its predecessors hit mainline:

709fdce7545c ("rcu: Express Tiny RCU updates in terms of RCU rather than RCU-sched")

I sent the pull request to Ingo a few days ago, so with some luck this
will all get to mainline during the next merge window, and then it is
open season on outside-of-RCU cleanups.  ;-)

							Thanx, Paul

> ---
>  kernel/sched/core.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/kernel/sched/core.c b/kernel/sched/core.c
> index 625bc9897f62..d8311f3cf58c 100644
> --- a/kernel/sched/core.c
> +++ b/kernel/sched/core.c
> @@ -5791,7 +5791,7 @@ int sched_cpu_deactivate(unsigned int cpu)
>  	 *
>  	 * Do sync before park smpboot threads to take care the rcu boost case.
>  	 */
> -	synchronize_rcu_mult(call_rcu, call_rcu_sched);
> +	synchronize_rcu();
>  
>  	if (!sched_smp_initialized)
>  		return 0;
> -- 
> 2.19.0.605.g01d371f741-goog
> 

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ