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: <20200316203241.GB3199@paulmck-ThinkPad-P72>
Date:   Mon, 16 Mar 2020 13:32:41 -0700
From:   "Paul E. McKenney" <paulmck@...nel.org>
To:     Joel Fernandes <joel@...lfernandes.org>
Cc:     rcu <rcu@...r.kernel.org>, LKML <linux-kernel@...r.kernel.org>,
        "kernel-team@...com," <kernel-team@...com>,
        Ingo Molnar <mingo@...nel.org>,
        Lai Jiangshan <jiangshanlai@...il.com>,
        dipankar <dipankar@...ibm.com>,
        Andrew Morton <akpm@...ux-foundation.org>,
        Mathieu Desnoyers <mathieu.desnoyers@...icios.com>,
        Josh Triplett <josh@...htriplett.org>,
        Thomas Glexiner <tglx@...utronix.de>,
        Peter Zijlstra <peterz@...radead.org>,
        Steven Rostedt <rostedt@...dmis.org>,
        David Howells <dhowells@...hat.com>,
        Eric Dumazet <edumazet@...gle.com>,
        Frederic Weisbecker <fweisbec@...il.com>,
        Oleg Nesterov <oleg@...hat.com>
Subject: Re: [PATCH RFC tip/core/rcu 09/16] rcu-tasks: Add an RCU-tasks rude
 variant

On Mon, Mar 16, 2020 at 04:17:51PM -0400, Joel Fernandes wrote:
> On Mon, Mar 16, 2020 at 3:47 PM Joel Fernandes <joel@...lfernandes.org> wrote:
> >
> > On Thu, Mar 12, 2020 at 11:16:55AM -0700, paulmck@...nel.org wrote:
> > > From: "Paul E. McKenney" <paulmck@...nel.org>
> > >
> > > This commit adds a "rude" variant of RCU-tasks that has as quiescent
> > > states schedule(), cond_resched_tasks_rcu_qs(), userspace execution,
> > > and (in theory, anyway) cond_resched().  Updates make use of IPIs and
> > > force an IPI and a context switch on each online CPU.  This variant
> > > is useful in some situations in tracing.
> >
> > Would it be possible to better clarify that the "rude version" works only
> > from preempt-disabled regions? Is that also true for the "non-rude" version?
> >
> > Also it would be good to clarify better in cover letter, how these new
> > flavors relate to the existing Tasks-RCU implementation.
> >
> > In the existing one, a quiescent state is a task updating its context switch
> > counters such that it went to sleep at least once, implying there is no
> > chance it is on an about to be destroyed trampoline.
> >
> > However, here we are trying to determine if a task state is no longer on an
> > RQ (which I gleaned from the first patch). Sounds very similar, would the
> > context switch counters not help in that determination as well? If it is Ok,
> > it would be good to describe in cover letter about what is exactly is a
> > quiescent state and what exactly is a reader section in the cover letter, for
> > both non-rude and rude version. Thanks!
> 
> Just curious, why is the "rude" version better than SRCU? Seems the
> schedule_on_each_cpu() would be much slower than SRCU especially if
> there are 1000s of CPUs involved. Is there any reason that is a better
> alternative?

The rude version has much faster readers, and the story I hear is that
there are not expected to be all that many concurrent updaters.

But to get more detail, why not ask Steven why he chose not to use SRCU?
(I know the story for the BPF guys, and it is because of SRCU's read-side
overhead.)

							Thanx, Paul

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ