All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v4 0/2] mm/slab: trivial fixup for SLAB_TYPESAFE_BY_RCU example code snippet
@ 2023-04-17 19:04 SeongJae Park
  2023-04-17 19:04 ` [PATCH v4 1/2] mm/slab: add a missing semicolon on SLAB_TYPESAFE_BY_RCU example code SeongJae Park
                   ` (2 more replies)
  0 siblings, 3 replies; 5+ messages in thread
From: SeongJae Park @ 2023-04-17 19:04 UTC (permalink / raw)
  To: akpm; +Cc: SeongJae Park, vbabka, willy, paulmck, linux-mm, linux-kernel

Changes from v3
(https://lore.kernel.org/linux-mm/20230417173238.22237-1-sj@kernel.org/)
- Yet more wordsmith of the second patch's commit message
  (Matthew Wilcox)

Changes from v2
(https://lore.kernel.org/linux-mm/20230415033159.4249-1-sj@kernel.org/)
- Wordsmith commit message of the second patch (Valstimil Babka)

Changes from v1
(https://lore.kernel.org/linux-mm/20230415003754.1852-1-sj@kernel.org/)
- Update label (s/again/begin/) correctly (Matthew Wilcox)
- Add missed rcu_read_unlock()

This patchset is for trivial fixup for SLAB_TYPESAFE_BY_RCU example code
snippet, namely adding missed semicolon and breaking RCU read-side
critical section into smaller ones.

SeongJae Park (2):
  mm/slab: add a missing semicolon on SLAB_TYPESAFE_BY_RCU example code
  mm/slab: break up RCU readers on SLAB_TYPESAFE_BY_RCU example code

 include/linux/slab.h | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

-- 
2.25.1



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

* [PATCH v4 1/2] mm/slab: add a missing semicolon on SLAB_TYPESAFE_BY_RCU example code
  2023-04-17 19:04 [PATCH v4 0/2] mm/slab: trivial fixup for SLAB_TYPESAFE_BY_RCU example code snippet SeongJae Park
@ 2023-04-17 19:04 ` SeongJae Park
  2023-04-17 19:04 ` [PATCH v4 2/2] mm/slab: break up RCU readers " SeongJae Park
  2023-06-07 11:40 ` [PATCH v4 0/2] mm/slab: trivial fixup for SLAB_TYPESAFE_BY_RCU example code snippet Vlastimil Babka
  2 siblings, 0 replies; 5+ messages in thread
From: SeongJae Park @ 2023-04-17 19:04 UTC (permalink / raw)
  To: akpm; +Cc: SeongJae Park, vbabka, willy, paulmck, linux-mm, linux-kernel

An example code snippet for SLAB_TYPESAFE_BY_RCU is missing a semicolon.
Add it.

Signed-off-by: SeongJae Park <sj@kernel.org>
---
 include/linux/slab.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/include/linux/slab.h b/include/linux/slab.h
index f8b1d63c63a3..b18e56c6f06c 100644
--- a/include/linux/slab.h
+++ b/include/linux/slab.h
@@ -53,7 +53,7 @@
  * stays valid, the trick to using this is relying on an independent
  * object validation pass. Something like:
  *
- *  rcu_read_lock()
+ *  rcu_read_lock();
  * again:
  *  obj = lockless_lookup(key);
  *  if (obj) {
-- 
2.25.1



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

* [PATCH v4 2/2] mm/slab: break up RCU readers on SLAB_TYPESAFE_BY_RCU example code
  2023-04-17 19:04 [PATCH v4 0/2] mm/slab: trivial fixup for SLAB_TYPESAFE_BY_RCU example code snippet SeongJae Park
  2023-04-17 19:04 ` [PATCH v4 1/2] mm/slab: add a missing semicolon on SLAB_TYPESAFE_BY_RCU example code SeongJae Park
@ 2023-04-17 19:04 ` SeongJae Park
  2023-04-24 18:34   ` Paul E. McKenney
  2023-06-07 11:40 ` [PATCH v4 0/2] mm/slab: trivial fixup for SLAB_TYPESAFE_BY_RCU example code snippet Vlastimil Babka
  2 siblings, 1 reply; 5+ messages in thread
From: SeongJae Park @ 2023-04-17 19:04 UTC (permalink / raw)
  To: akpm; +Cc: SeongJae Park, vbabka, willy, paulmck, linux-mm, linux-kernel

The SLAB_TYPESAFE_BY_RCU example code snippet uses a single RCU
read-side critical section for retries.
'Documentation/RCU/rculist_nulls.rst' has similar example code snippet,
and commit da82af04352b ("doc: Update and wordsmith rculist_nulls.rst")
broke it up.  Apply the change to SLAB_TYPESAFE_BY_RCU example code
snippet, too.

Signed-off-by: SeongJae Park <sj@kernel.org>
---
 include/linux/slab.h | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/include/linux/slab.h b/include/linux/slab.h
index b18e56c6f06c..6acf1b7c6551 100644
--- a/include/linux/slab.h
+++ b/include/linux/slab.h
@@ -53,16 +53,18 @@
  * stays valid, the trick to using this is relying on an independent
  * object validation pass. Something like:
  *
+ * begin:
  *  rcu_read_lock();
- * again:
  *  obj = lockless_lookup(key);
  *  if (obj) {
  *    if (!try_get_ref(obj)) // might fail for free objects
- *      goto again;
+ *      rcu_read_unlock();
+ *      goto begin;
  *
  *    if (obj->key != key) { // not the object we expected
  *      put_ref(obj);
- *      goto again;
+ *      rcu_read_unlock();
+ *      goto begin;
  *    }
  *  }
  *  rcu_read_unlock();
-- 
2.25.1



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

* Re: [PATCH v4 2/2] mm/slab: break up RCU readers on SLAB_TYPESAFE_BY_RCU example code
  2023-04-17 19:04 ` [PATCH v4 2/2] mm/slab: break up RCU readers " SeongJae Park
@ 2023-04-24 18:34   ` Paul E. McKenney
  0 siblings, 0 replies; 5+ messages in thread
From: Paul E. McKenney @ 2023-04-24 18:34 UTC (permalink / raw)
  To: SeongJae Park; +Cc: akpm, vbabka, willy, linux-mm, linux-kernel

On Mon, Apr 17, 2023 at 07:04:50PM +0000, SeongJae Park wrote:
> The SLAB_TYPESAFE_BY_RCU example code snippet uses a single RCU
> read-side critical section for retries.
> 'Documentation/RCU/rculist_nulls.rst' has similar example code snippet,
> and commit da82af04352b ("doc: Update and wordsmith rculist_nulls.rst")
> broke it up.  Apply the change to SLAB_TYPESAFE_BY_RCU example code
> snippet, too.
> 
> Signed-off-by: SeongJae Park <sj@kernel.org>

Reviewed-by: Paul E. McKenney <paulmck@kernel.org>

> ---
>  include/linux/slab.h | 8 +++++---
>  1 file changed, 5 insertions(+), 3 deletions(-)
> 
> diff --git a/include/linux/slab.h b/include/linux/slab.h
> index b18e56c6f06c..6acf1b7c6551 100644
> --- a/include/linux/slab.h
> +++ b/include/linux/slab.h
> @@ -53,16 +53,18 @@
>   * stays valid, the trick to using this is relying on an independent
>   * object validation pass. Something like:
>   *
> + * begin:
>   *  rcu_read_lock();
> - * again:
>   *  obj = lockless_lookup(key);
>   *  if (obj) {
>   *    if (!try_get_ref(obj)) // might fail for free objects
> - *      goto again;
> + *      rcu_read_unlock();
> + *      goto begin;
>   *
>   *    if (obj->key != key) { // not the object we expected
>   *      put_ref(obj);
> - *      goto again;
> + *      rcu_read_unlock();
> + *      goto begin;
>   *    }
>   *  }
>   *  rcu_read_unlock();
> -- 
> 2.25.1
> 


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

* Re: [PATCH v4 0/2] mm/slab: trivial fixup for SLAB_TYPESAFE_BY_RCU example code snippet
  2023-04-17 19:04 [PATCH v4 0/2] mm/slab: trivial fixup for SLAB_TYPESAFE_BY_RCU example code snippet SeongJae Park
  2023-04-17 19:04 ` [PATCH v4 1/2] mm/slab: add a missing semicolon on SLAB_TYPESAFE_BY_RCU example code SeongJae Park
  2023-04-17 19:04 ` [PATCH v4 2/2] mm/slab: break up RCU readers " SeongJae Park
@ 2023-06-07 11:40 ` Vlastimil Babka
  2 siblings, 0 replies; 5+ messages in thread
From: Vlastimil Babka @ 2023-06-07 11:40 UTC (permalink / raw)
  To: SeongJae Park, akpm; +Cc: willy, paulmck, linux-mm, linux-kernel


On 4/17/23 21:04, SeongJae Park wrote:
> Changes from v3
> (https://lore.kernel.org/linux-mm/20230417173238.22237-1-sj@kernel.org/)
> - Yet more wordsmith of the second patch's commit message
>   (Matthew Wilcox)
> 
> Changes from v2
> (https://lore.kernel.org/linux-mm/20230415033159.4249-1-sj@kernel.org/)
> - Wordsmith commit message of the second patch (Valstimil Babka)
> 
> Changes from v1
> (https://lore.kernel.org/linux-mm/20230415003754.1852-1-sj@kernel.org/)
> - Update label (s/again/begin/) correctly (Matthew Wilcox)
> - Add missed rcu_read_unlock()
> 
> This patchset is for trivial fixup for SLAB_TYPESAFE_BY_RCU example code
> snippet, namely adding missed semicolon and breaking RCU read-side
> critical section into smaller ones.

Oops, almost forgot to merge this, now done, with Paul's R-b's, in
slab/for-6.5/cleanup. Thanks!

> SeongJae Park (2):
>   mm/slab: add a missing semicolon on SLAB_TYPESAFE_BY_RCU example code
>   mm/slab: break up RCU readers on SLAB_TYPESAFE_BY_RCU example code
> 
>  include/linux/slab.h | 10 ++++++----
>  1 file changed, 6 insertions(+), 4 deletions(-)
> 


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

end of thread, other threads:[~2023-06-07 11:40 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-04-17 19:04 [PATCH v4 0/2] mm/slab: trivial fixup for SLAB_TYPESAFE_BY_RCU example code snippet SeongJae Park
2023-04-17 19:04 ` [PATCH v4 1/2] mm/slab: add a missing semicolon on SLAB_TYPESAFE_BY_RCU example code SeongJae Park
2023-04-17 19:04 ` [PATCH v4 2/2] mm/slab: break up RCU readers " SeongJae Park
2023-04-24 18:34   ` Paul E. McKenney
2023-06-07 11:40 ` [PATCH v4 0/2] mm/slab: trivial fixup for SLAB_TYPESAFE_BY_RCU example code snippet Vlastimil Babka

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.