* [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.