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]
Date:   Mon, 11 Apr 2022 17:20:04 +0200
From:   Uladzislau Rezki <urezki@...il.com>
To:     "Paul E. McKenney" <paulmck@...nel.org>
Cc:     Uladzislau Rezki <urezki@...il.com>,
        Joel Fernandes <joel@...lfernandes.org>,
        LKML <linux-kernel@...r.kernel.org>,
        Josh Triplett <josh@...htriplett.org>,
        Lai Jiangshan <jiangshanlai@...il.com>,
        Mathieu Desnoyers <mathieu.desnoyers@...icios.com>,
        rcu <rcu@...r.kernel.org>, Steven Rostedt <rostedt@...dmis.org>,
        frederic@...nel.org
Subject: Re: [PATCH RFC] rcu/nocb: Provide default all-CPUs mask for
 RCU_NOCB_CPU=y

> On Fri, Apr 08, 2022 at 11:46:15PM +0200, Uladzislau Rezki wrote:
> > > 
> > > Here is what I believe you are proposing:
> > > 
> > > 
> > > 				---	rcu_nocbs	rcu_nocbs=???
> > > 
> > > CONFIG_RCU_NOCB_CPU_ALL=n	[1]	[2]		[3]
> > > 
> > > CONFIG_RCU_NOCB_CPU_ALL=y	[4]	[4]		[3]
> > > 
> > > 
> > > [1]	No CPUs are offloaded at boot.	CPUs cannot be offloaded at
> > > 	runtime.
> > > 
> > > [2]	No CPUs are offloaded at boot, but any CPU can be offloaded
> > > 	(and later de-offloaded) at runtime.
> > > 
> > > [3]	The set of CPUs that are offloaded at boot are specified by the
> > > 	mask, represented above with "???".  The CPUs that are offloaded
> > > 	at boot can be de-offloaded and offloaded at runtime.  The CPUs
> > > 	not offloaded at boot cannot be offloaded at runtime.
> > > 
> > > [4]	All CPUs are offloaded at boot, and any CPU can be de-offloaded
> > > 	and offloaded at runtime.  This is the same behavior that
> > > 	you would currently get with CONFIG_RCU_NOCB_CPU_ALL=n and
> > > 	rcu_nocbs=0-N.
> > > 
> > > 
> > > I am adding Frederic on CC, who will not be shy about correcting any
> > > confusion I be suffering from have with respect to the current code.
> > > 
> > > Either way, if this is not what you had in mind, what are you suggesting
> > > instead?
> > > 
> > > I believe that Steve Rostedt's review would carry weight for ChromeOS,
> > > however, I am suffering a senior moment on the right person for Android.
> > > 
> > We(in Sony) mark all CPUs as offloaded ones because of power reasons. The
> > energy aware scheduler has a better knowledge where to place an rcuop/x
> > task to invoke callbacks. The decision is taken based on many reason and
> > the most important is to drain less power as a result of task placement.
> > For example, power table, if OPP becomes higher or not, CPU is idle, etc.
> > 
> > What Joel does in this patch sounds natural to me at least from the first
> > glance. I mean converting the RCU_NOCB_CPU=y to make all CPUs to do offloading.
> 
> Just to be very clear, given appropriate acks/reviews, adding something
> like CONFIG_RCU_NOCB_CPU_ALL to get default rcu_nocbs=0-N is fine.
> However, Joel's original patch would not be good for the enterprise
> distros, which rely on the current default.
> 
Absolutely. It would be even easier in terms of changing the current concept
of RCU_NOCB_CPU config. Having an extra CONFIG_RCU_NOCB_CPU_ALL would simplify 
and get rid of a need of modifying the "rcu_nocbs=" boot parameter.

--
Uladzislau Rezki

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ