* [PATCH 1/3] Documentation: RCU: Fix section numbers after adding Section 7 in whatisRCU.rst
2023-10-10 11:10 [PATCH 0/3] RCU docs updates for v6.7 Frederic Weisbecker
@ 2023-10-10 11:10 ` Frederic Weisbecker
2023-10-10 11:10 ` [PATCH 2/3] rcu: Describe listRCU read-side guarantees Frederic Weisbecker
2023-10-10 11:10 ` [PATCH 3/3] rcu: Remove references to rcu_migrate_callbacks() from diagrams Frederic Weisbecker
2 siblings, 0 replies; 4+ messages in thread
From: Frederic Weisbecker @ 2023-10-10 11:10 UTC (permalink / raw)
To: LKML
Cc: Wei Zhang, Boqun Feng, Joel Fernandes, Josh Triplett,
Mathieu Desnoyers, Neeraj Upadhyay, Paul E . McKenney,
Steven Rostedt, Uladzislau Rezki, rcu, Randy Dunlap,
Frederic Weisbecker
From: Wei Zhang <zhangweilst@gmail.com>
Signed-off-by: Wei Zhang <zhangweilst@gmail.com>
Reviewed-by: Randy Dunlap <rdunlap@infradead.org>
Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
Signed-off-by: Frederic Weisbecker <frederic@kernel.org>
---
Documentation/RCU/whatisRCU.rst | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/Documentation/RCU/whatisRCU.rst b/Documentation/RCU/whatisRCU.rst
index e488c8e557a9..60ce02475142 100644
--- a/Documentation/RCU/whatisRCU.rst
+++ b/Documentation/RCU/whatisRCU.rst
@@ -59,8 +59,8 @@ experiment with should focus on Section 2. People who prefer to start
with example uses should focus on Sections 3 and 4. People who need to
understand the RCU implementation should focus on Section 5, then dive
into the kernel source code. People who reason best by analogy should
-focus on Section 6. Section 7 serves as an index to the docbook API
-documentation, and Section 8 is the traditional answer key.
+focus on Section 6 and 7. Section 8 serves as an index to the docbook
+API documentation, and Section 9 is the traditional answer key.
So, start with the section that makes the most sense to you and your
preferred method of learning. If you need to know everything about
--
2.34.1
^ permalink raw reply related [flat|nested] 4+ messages in thread
* [PATCH 2/3] rcu: Describe listRCU read-side guarantees
2023-10-10 11:10 [PATCH 0/3] RCU docs updates for v6.7 Frederic Weisbecker
2023-10-10 11:10 ` [PATCH 1/3] Documentation: RCU: Fix section numbers after adding Section 7 in whatisRCU.rst Frederic Weisbecker
@ 2023-10-10 11:10 ` Frederic Weisbecker
2023-10-10 11:10 ` [PATCH 3/3] rcu: Remove references to rcu_migrate_callbacks() from diagrams Frederic Weisbecker
2 siblings, 0 replies; 4+ messages in thread
From: Frederic Weisbecker @ 2023-10-10 11:10 UTC (permalink / raw)
To: LKML
Cc: Matthew Wilcox (Oracle), Boqun Feng, Joel Fernandes,
Josh Triplett, Mathieu Desnoyers, Neeraj Upadhyay,
Paul E . McKenney, Steven Rostedt, Uladzislau Rezki, rcu,
Frederic Weisbecker
From: "Matthew Wilcox (Oracle)" <willy@infradead.org>
More explicitly state what is, and what is not guaranteed to those
who iterate a list while protected by RCU.
[ paulmck: Apply Joel Fernandes feedback. ]
Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
Reviewed-by: Joel Fernandes (Google) <joel@joelfernandes.org>
Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
Signed-off-by: Frederic Weisbecker <frederic@kernel.org>
---
Documentation/RCU/listRCU.rst | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/Documentation/RCU/listRCU.rst b/Documentation/RCU/listRCU.rst
index bdc4bcc5289f..ed5c9d8c9afe 100644
--- a/Documentation/RCU/listRCU.rst
+++ b/Documentation/RCU/listRCU.rst
@@ -8,6 +8,15 @@ One of the most common uses of RCU is protecting read-mostly linked lists
that all of the required memory ordering is provided by the list macros.
This document describes several list-based RCU use cases.
+When iterating a list while holding the rcu_read_lock(), writers may
+modify the list. The reader is guaranteed to see all of the elements
+which were added to the list before they acquired the rcu_read_lock()
+and are still on the list when they drop the rcu_read_unlock().
+Elements which are added to, or removed from the list may or may not
+be seen. If the writer calls list_replace_rcu(), the reader may see
+either the old element or the new element; they will not see both,
+nor will they see neither.
+
Example 1: Read-mostly list: Deferred Destruction
-------------------------------------------------
--
2.34.1
^ permalink raw reply related [flat|nested] 4+ messages in thread
* [PATCH 3/3] rcu: Remove references to rcu_migrate_callbacks() from diagrams
2023-10-10 11:10 [PATCH 0/3] RCU docs updates for v6.7 Frederic Weisbecker
2023-10-10 11:10 ` [PATCH 1/3] Documentation: RCU: Fix section numbers after adding Section 7 in whatisRCU.rst Frederic Weisbecker
2023-10-10 11:10 ` [PATCH 2/3] rcu: Describe listRCU read-side guarantees Frederic Weisbecker
@ 2023-10-10 11:10 ` Frederic Weisbecker
2 siblings, 0 replies; 4+ messages in thread
From: Frederic Weisbecker @ 2023-10-10 11:10 UTC (permalink / raw)
To: LKML
Cc: Frederic Weisbecker, Boqun Feng, Joel Fernandes, Josh Triplett,
Mathieu Desnoyers, Neeraj Upadhyay, Paul E . McKenney,
Steven Rostedt, Uladzislau Rezki, rcu
This function is gone since:
53b46303da84 (rcu: Remove rsp parameter from rcu_boot_init_percpu_data() and friends)
Reviewed-by: Paul E. McKenney <paulmck@kernel.org>
Signed-off-by: Frederic Weisbecker <frederic@kernel.org>
---
.../Design/Memory-Ordering/TreeRCU-callback-registry.svg | 9 ---------
Documentation/RCU/Design/Memory-Ordering/TreeRCU-gp.svg | 9 ---------
2 files changed, 18 deletions(-)
diff --git a/Documentation/RCU/Design/Memory-Ordering/TreeRCU-callback-registry.svg b/Documentation/RCU/Design/Memory-Ordering/TreeRCU-callback-registry.svg
index 7ac6f9269806..63eff867175a 100644
--- a/Documentation/RCU/Design/Memory-Ordering/TreeRCU-callback-registry.svg
+++ b/Documentation/RCU/Design/Memory-Ordering/TreeRCU-callback-registry.svg
@@ -564,15 +564,6 @@
font-size="192"
id="text202-7-9-6"
style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier">rcutree_migrate_callbacks()</text>
- <text
- xml:space="preserve"
- x="8335.4873"
- y="5357.1006"
- font-style="normal"
- font-weight="bold"
- font-size="192"
- id="text202-7-9-6-0"
- style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier">rcu_migrate_callbacks()</text>
<text
xml:space="preserve"
x="8768.4678"
diff --git a/Documentation/RCU/Design/Memory-Ordering/TreeRCU-gp.svg b/Documentation/RCU/Design/Memory-Ordering/TreeRCU-gp.svg
index 069f6f8371c2..e4a66f8e92c5 100644
--- a/Documentation/RCU/Design/Memory-Ordering/TreeRCU-gp.svg
+++ b/Documentation/RCU/Design/Memory-Ordering/TreeRCU-gp.svg
@@ -1446,15 +1446,6 @@
font-size="192"
id="text202-7-9-6"
style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier">rcutree_migrate_callbacks()</text>
- <text
- xml:space="preserve"
- x="8335.4873"
- y="5357.1006"
- font-style="normal"
- font-weight="bold"
- font-size="192"
- id="text202-7-9-6-0"
- style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier">rcu_migrate_callbacks()</text>
<text
xml:space="preserve"
x="8768.4678"
--
2.34.1
^ permalink raw reply related [flat|nested] 4+ messages in thread