LKML Archive on lore.kernel.org
help / color / mirror / Atom feed
* [RFC] rcu: doc: update example about stale data
@ 2018-10-28  2:16 Joel Fernandes (Google)
  2018-10-28  4:44 ` Joel Fernandes
  2018-10-28 17:21 ` Paul E. McKenney
  0 siblings, 2 replies; 7+ messages in thread
From: Joel Fernandes (Google) @ 2018-10-28  2:16 UTC (permalink / raw)
  To: linux-kernel; +Cc: Joel Fernandes (Google), Paul E. McKenney

The RCU example for 'rejecting stale data' on system-call auditting
stops iterating through the rules if a deleted one is found. It makes
more sense to continue looking at other rules once a deleted one is
rejected. Although the original example is fine, this makes it more
meaningful.

Signed-off-by: Joel Fernandes (Google) <joel@joelfernandes.org>
---
 Documentation/RCU/listRCU.txt | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/Documentation/RCU/listRCU.txt b/Documentation/RCU/listRCU.txt
index adb5a3782846..09e9a4fc723e 100644
--- a/Documentation/RCU/listRCU.txt
+++ b/Documentation/RCU/listRCU.txt
@@ -250,8 +250,7 @@ as follows:
 				spin_lock(&e->lock);
 				if (e->deleted) {
 					spin_unlock(&e->lock);
-					rcu_read_unlock();
-					return AUDIT_BUILD_CONTEXT;
+					continue;
 				}
 				rcu_read_unlock();
 				return state;
-- 
2.19.1.568.g152ad8e336-goog


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [RFC] rcu: doc: update example about stale data
  2018-10-28  2:16 [RFC] rcu: doc: update example about stale data Joel Fernandes (Google)
@ 2018-10-28  4:44 ` Joel Fernandes
  2018-10-28 17:29   ` Paul E. McKenney
  2018-10-28 17:21 ` Paul E. McKenney
  1 sibling, 1 reply; 7+ messages in thread
From: Joel Fernandes @ 2018-10-28  4:44 UTC (permalink / raw)
  To: LKML; +Cc: Joel Fernandes (Google), Paul E. McKenney

On Sat, Oct 27, 2018 at 7:16 PM, Joel Fernandes (Google)
<joel@joelfernandes.org> wrote:
> The RCU example for 'rejecting stale data' on system-call auditting
> stops iterating through the rules if a deleted one is found. It makes
> more sense to continue looking at other rules once a deleted one is
> rejected. Although the original example is fine, this makes it more
> meaningful.

Sorry, I messed up the patch title, it is supposed to be 'doc: rcu:
...'. I can resend it if you want.

thanks,

- Joel

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [RFC] rcu: doc: update example about stale data
  2018-10-28  2:16 [RFC] rcu: doc: update example about stale data Joel Fernandes (Google)
  2018-10-28  4:44 ` Joel Fernandes
@ 2018-10-28 17:21 ` Paul E. McKenney
  2018-10-29  1:16   ` Joel Fernandes
  1 sibling, 1 reply; 7+ messages in thread
From: Paul E. McKenney @ 2018-10-28 17:21 UTC (permalink / raw)
  To: Joel Fernandes (Google); +Cc: linux-kernel

On Sat, Oct 27, 2018 at 07:16:53PM -0700, Joel Fernandes (Google) wrote:
> The RCU example for 'rejecting stale data' on system-call auditting
> stops iterating through the rules if a deleted one is found. It makes
> more sense to continue looking at other rules once a deleted one is
> rejected. Although the original example is fine, this makes it more
> meaningful.
> 
> Signed-off-by: Joel Fernandes (Google) <joel@joelfernandes.org>

Does the actual audit code that this was copied from now include the
continue statement?  If so, please update the commit log to state that
and then I will take the resulting patch.  (This example was inspired
by a long-ago version of the actual audit code.)

							Thanx, Paul

> ---
>  Documentation/RCU/listRCU.txt | 3 +--
>  1 file changed, 1 insertion(+), 2 deletions(-)
> 
> diff --git a/Documentation/RCU/listRCU.txt b/Documentation/RCU/listRCU.txt
> index adb5a3782846..09e9a4fc723e 100644
> --- a/Documentation/RCU/listRCU.txt
> +++ b/Documentation/RCU/listRCU.txt
> @@ -250,8 +250,7 @@ as follows:
>  				spin_lock(&e->lock);
>  				if (e->deleted) {
>  					spin_unlock(&e->lock);
> -					rcu_read_unlock();
> -					return AUDIT_BUILD_CONTEXT;
> +					continue;
>  				}
>  				rcu_read_unlock();
>  				return state;
> -- 
> 2.19.1.568.g152ad8e336-goog
> 


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [RFC] rcu: doc: update example about stale data
  2018-10-28  4:44 ` Joel Fernandes
@ 2018-10-28 17:29   ` Paul E. McKenney
  0 siblings, 0 replies; 7+ messages in thread
From: Paul E. McKenney @ 2018-10-28 17:29 UTC (permalink / raw)
  To: Joel Fernandes; +Cc: LKML

On Sat, Oct 27, 2018 at 09:44:31PM -0700, Joel Fernandes wrote:
> On Sat, Oct 27, 2018 at 7:16 PM, Joel Fernandes (Google)
> <joel@joelfernandes.org> wrote:
> > The RCU example for 'rejecting stale data' on system-call auditting
> > stops iterating through the rules if a deleted one is found. It makes
> > more sense to continue looking at other rules once a deleted one is
> > rejected. Although the original example is fine, this makes it more
> > meaningful.
> 
> Sorry, I messed up the patch title, it is supposed to be 'doc: rcu:
> ...'. I can resend it if you want.

Hmmm...  There doesn't seem to be any consistent standard for documentation
patches.  I see "Documentation: networking:", "docs:", "doc:" (which is
what I normally use), "doc:doc-guide:", "Documentation/process:",
"doc/devicetree:", "media: doc:", and who knows what all else.

Including "Documentation" seems excessive.  I guess I am OK with
"doc: rcu:", but either just plain "doc:" or "doc/rcu:" would be fine
with me as well.

							Thanx, Paul


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [RFC] rcu: doc: update example about stale data
  2018-10-28 17:21 ` Paul E. McKenney
@ 2018-10-29  1:16   ` Joel Fernandes
  2018-10-30 23:50     ` Paul E. McKenney
  0 siblings, 1 reply; 7+ messages in thread
From: Joel Fernandes @ 2018-10-29  1:16 UTC (permalink / raw)
  To: Paul E. McKenney; +Cc: linux-kernel

On Sun, Oct 28, 2018 at 10:21:42AM -0700, Paul E. McKenney wrote:
> On Sat, Oct 27, 2018 at 07:16:53PM -0700, Joel Fernandes (Google) wrote:
> > The RCU example for 'rejecting stale data' on system-call auditting
> > stops iterating through the rules if a deleted one is found. It makes
> > more sense to continue looking at other rules once a deleted one is
> > rejected. Although the original example is fine, this makes it more
> > meaningful.
> > 
> > Signed-off-by: Joel Fernandes (Google) <joel@joelfernandes.org>
> 
> Does the actual audit code that this was copied from now include the
> continue statement?  If so, please update the commit log to state that
> and then I will take the resulting patch.  (This example was inspired
> by a long-ago version of the actual audit code.)

The document talks of a situation that could be but is not really in the
implementation. It says "If the system-call audit module were to ever need to
reject stale data". So its not really something implemented. I was just
correcting the example you had there since it made more sense to me to
continue looking for other rules in the list once a rule was shown to be
stale. It just makes the example more correct.

But I'm Ok if you want to leave that alone ;-) Hence, the RFC tag to this
patch ;-)

- Joel
 

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [RFC] rcu: doc: update example about stale data
  2018-10-29  1:16   ` Joel Fernandes
@ 2018-10-30 23:50     ` Paul E. McKenney
  2018-10-31  0:58       ` Joel Fernandes
  0 siblings, 1 reply; 7+ messages in thread
From: Paul E. McKenney @ 2018-10-30 23:50 UTC (permalink / raw)
  To: Joel Fernandes; +Cc: linux-kernel

On Sun, Oct 28, 2018 at 06:16:31PM -0700, Joel Fernandes wrote:
> On Sun, Oct 28, 2018 at 10:21:42AM -0700, Paul E. McKenney wrote:
> > On Sat, Oct 27, 2018 at 07:16:53PM -0700, Joel Fernandes (Google) wrote:
> > > The RCU example for 'rejecting stale data' on system-call auditting
> > > stops iterating through the rules if a deleted one is found. It makes
> > > more sense to continue looking at other rules once a deleted one is
> > > rejected. Although the original example is fine, this makes it more
> > > meaningful.
> > > 
> > > Signed-off-by: Joel Fernandes (Google) <joel@joelfernandes.org>
> > 
> > Does the actual audit code that this was copied from now include the
> > continue statement?  If so, please update the commit log to state that
> > and then I will take the resulting patch.  (This example was inspired
> > by a long-ago version of the actual audit code.)
> 
> The document talks of a situation that could be but is not really in the
> implementation. It says "If the system-call audit module were to ever need to
> reject stale data". So its not really something implemented. I was just
> correcting the example you had there since it made more sense to me to
> continue looking for other rules in the list once a rule was shown to be
> stale. It just makes the example more correct.
> 
> But I'm Ok if you want to leave that alone ;-) Hence, the RFC tag to this
> patch ;-)

Well, I do agree that there are situations where you need to keep
going.  But in the common case where only one instance of a given key
is allowed, and where the list is either (1) sorted and/or (2) added
to at the beginning, if you find a deleted element with a given key,
you are guaranteed that you won't find another with that key even if
you continue scanning the list.  After all, if you did find a deleted
element, the duplicate either is not on the list in the sorted case
or is behind you in the add-at-front case.

And in the more complex cases where persistent searching is required,
you usually have to restart the search instead of continuing it.  Besides,
things like the Issaquah Challenge don't seem to belong in introductory
documentation on RCU.  ;-)

							Thanx, Paul


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [RFC] rcu: doc: update example about stale data
  2018-10-30 23:50     ` Paul E. McKenney
@ 2018-10-31  0:58       ` Joel Fernandes
  0 siblings, 0 replies; 7+ messages in thread
From: Joel Fernandes @ 2018-10-31  0:58 UTC (permalink / raw)
  To: Paul E. McKenney; +Cc: linux-kernel

On Tue, Oct 30, 2018 at 04:50:39PM -0700, Paul E. McKenney wrote:
> On Sun, Oct 28, 2018 at 06:16:31PM -0700, Joel Fernandes wrote:
> > On Sun, Oct 28, 2018 at 10:21:42AM -0700, Paul E. McKenney wrote:
> > > On Sat, Oct 27, 2018 at 07:16:53PM -0700, Joel Fernandes (Google) wrote:
> > > > The RCU example for 'rejecting stale data' on system-call auditting
> > > > stops iterating through the rules if a deleted one is found. It makes
> > > > more sense to continue looking at other rules once a deleted one is
> > > > rejected. Although the original example is fine, this makes it more
> > > > meaningful.
> > > > 
> > > > Signed-off-by: Joel Fernandes (Google) <joel@joelfernandes.org>
> > > 
> > > Does the actual audit code that this was copied from now include the
> > > continue statement?  If so, please update the commit log to state that
> > > and then I will take the resulting patch.  (This example was inspired
> > > by a long-ago version of the actual audit code.)
> > 
> > The document talks of a situation that could be but is not really in the
> > implementation. It says "If the system-call audit module were to ever need to
> > reject stale data". So its not really something implemented. I was just
> > correcting the example you had there since it made more sense to me to
> > continue looking for other rules in the list once a rule was shown to be
> > stale. It just makes the example more correct.
> > 
> > But I'm Ok if you want to leave that alone ;-) Hence, the RFC tag to this
> > patch ;-)
> 
> Well, I do agree that there are situations where you need to keep
> going.  But in the common case where only one instance of a given key
> is allowed, and where the list is either (1) sorted and/or (2) added
> to at the beginning, if you find a deleted element with a given key,
> you are guaranteed that you won't find another with that key even if
> you continue scanning the list.  After all, if you did find a deleted
> element, the duplicate either is not on the list in the sorted case
> or is behind you in the add-at-front case.
> 
> And in the more complex cases where persistent searching is required,
> you usually have to restart the search instead of continuing it.  Besides,
> things like the Issaquah Challenge don't seem to belong in introductory
> documentation on RCU.  ;-)

Ok, agreed. Lets drop this :)

-Joel


^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2018-10-31  0:58 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-10-28  2:16 [RFC] rcu: doc: update example about stale data Joel Fernandes (Google)
2018-10-28  4:44 ` Joel Fernandes
2018-10-28 17:29   ` Paul E. McKenney
2018-10-28 17:21 ` Paul E. McKenney
2018-10-29  1:16   ` Joel Fernandes
2018-10-30 23:50     ` Paul E. McKenney
2018-10-31  0:58       ` Joel Fernandes

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).