- Aug 15, 2024
-
-
Valentin Schneider authored
rcu_dynticks_eqs_{enter, exit}() have been replaced by their context-tracking counterparts since commit: 17147677 ("context_tracking: Convert state to atomic_t") Update the stray documentation references. Signed-off-by:
Valentin Schneider <vschneid@redhat.com> Reviewed-by:
Frederic Weisbecker <frederic@kernel.org> Signed-off-by:
Neeraj Upadhyay <neeraj.upadhyay@kernel.org>
-
Valentin Schneider authored
The context_tracking.state RCU_DYNTICKS subvariable has been renamed to RCU_WATCHING, drop the dyntick reference and update the name of this helper to express that it rechecks rdp->watching_snap after an earlier rcu_watching_snap_save(). Signed-off-by:
Valentin Schneider <vschneid@redhat.com> Reviewed-by:
Frederic Weisbecker <frederic@kernel.org> Signed-off-by:
Neeraj Upadhyay <neeraj.upadhyay@kernel.org>
-
Valentin Schneider authored
The context_tracking.state RCU_DYNTICKS subvariable has been renamed to RCU_WATCHING, and the 'dynticks' prefix can be dropped without losing any meaning. Suggested-by:
Frederic Weisbecker <frederic@kernel.org> Signed-off-by:
Valentin Schneider <vschneid@redhat.com> Reviewed-by:
Frederic Weisbecker <frederic@kernel.org> Signed-off-by:
Neeraj Upadhyay <neeraj.upadhyay@kernel.org>
-
Valentin Schneider authored
The context_tracking.state RCU_DYNTICKS subvariable has been renamed to RCU_WATCHING, and the snapshot helpers are now prefix by "rcu_watching". Reflect that change into the storage variables for these snapshots. Signed-off-by:
Valentin Schneider <vschneid@redhat.com> Reviewed-by:
Frederic Weisbecker <frederic@kernel.org> Signed-off-by:
Neeraj Upadhyay <neeraj.upadhyay@kernel.org>
-
Valentin Schneider authored
The context_tracking.state RCU_DYNTICKS subvariable has been renamed to RCU_WATCHING, the dynticks prefix can go. While at it, this helper is only meant to be called after failing an earlier call to rcu_watching_snap_in_eqs(), document this in the comments and add a WARN_ON_ONCE() for good measure. Signed-off-by:
Valentin Schneider <vschneid@redhat.com> Reviewed-by:
Frederic Weisbecker <frederic@kernel.org> Signed-off-by:
Neeraj Upadhyay <neeraj.upadhyay@kernel.org>
-
- Aug 14, 2024
-
-
Paul E. McKenney authored
The call_rcu_tasks_rude() and rcu_barrier_tasks_rude() APIs are no longer. This commit therefore removes them from the documentation. Signed-off-by:
Paul E. McKenney <paulmck@kernel.org> Signed-off-by:
Neeraj Upadhyay <neeraj.upadhyay@kernel.org>
-
- Aug 11, 2024
-
-
Valentin Schneider authored
The context_tracking.state RCU_DYNTICKS subvariable has been renamed to RCU_WATCHING, and the 'dynticks' prefix can be dropped without losing any meaning. [ neeraj.upadhyay: Fix htmldocs build error reported by Stephen Rothwell ] Suggested-by:
Frederic Weisbecker <frederic@kernel.org> Signed-off-by:
Valentin Schneider <vschneid@redhat.com> Reviewed-by:
Frederic Weisbecker <frederic@kernel.org> Signed-off-by:
Neeraj Upadhyay <neeraj.upadhyay@kernel.org>
-
Valentin Schneider authored
The context_tracking.state RCU_DYNTICKS subvariable has been renamed to RCU_WATCHING, reflect that change in the related helpers. [ neeraj.upadhyay: Fix htmldocs build error reported by Stephen Rothwell ] Suggested-by:
Frederic Weisbecker <frederic@kernel.org> Signed-off-by:
Valentin Schneider <vschneid@redhat.com> Reviewed-by:
Frederic Weisbecker <frederic@kernel.org> Signed-off-by:
Neeraj Upadhyay <neeraj.upadhyay@kernel.org>
-
- Jul 29, 2024
-
-
Valentin Schneider authored
The context_tracking.state RCU_DYNTICKS subvariable has been renamed to RCU_WATCHING, reflect that change in the related helpers. Signed-off-by:
Valentin Schneider <vschneid@redhat.com> Reviewed-by:
Frederic Weisbecker <frederic@kernel.org> Signed-off-by:
Neeraj Upadhyay <neeraj.upadhyay@kernel.org>
-
- Jun 28, 2024
-
-
Frederic Weisbecker authored
When the grace period kthread checks the extended quiescent state counter of a CPU, full ordering is necessary to ensure that either: * If the GP kthread observes the remote target in an extended quiescent state, then that target must observe all accesses prior to the current grace period, including the current grace period sequence number, once it exits that extended quiescent state. or: * If the GP kthread observes the remote target NOT in an extended quiescent state, then the target further entering in an extended quiescent state must observe all accesses prior to the current grace period, including the current grace period sequence number, once it enters that extended quiescent state. This ordering is enforced through a full memory barrier placed right before taking the first EQS snapshot. However this is superfluous because the snapshot is taken while holding the target's rnp lock which provides the necessary ordering through its chain of smp_mb__after_unlock_lock(). Remove the needless explicit barrier before the snapshot and put a comment about the implicit barrier newly relied upon here. Signed-off-by:
Frederic Weisbecker <frederic@kernel.org> Signed-off-by:
Paul E. McKenney <paulmck@kernel.org> Reviewed-by:
Boqun Feng <boqun.feng@gmail.com> Reviewed-by:
Neeraj Upadhyay <neeraj.upadhyay@kernel.org> Signed-off-by:
Paul E. McKenney <paulmck@kernel.org>
-
- Jun 06, 2024
-
-
Paul E. McKenney authored
This commit expands on the ordering properties of rcu_assign_pointer() and rcu_dereference(), outlining their constraints on CPUs and compilers. Reported-by:
Rao Shoaib <rao.shoaib@oracle.com> Signed-off-by:
Paul E. McKenney <paulmck@kernel.org>
-
Paul E. McKenney authored
This commit adds more detail to the Tasks RCU and Tasks Rude RCU descriptions in Requirements.rst. While in the area, add Tasks Trace RCU to the Tasks-RCU table of contents. Reported-by:
Sebastian Andrzej Siewior <bigeasy@linutronix.de> Signed-off-by:
Paul E. McKenney <paulmck@kernel.org> Reviewed-by:
Frederic Weisbecker <frederic@kernel.org>
-
- Apr 09, 2024
-
-
Zenghui Yu authored
arrayRCU.rst has been removed since commit ef2555cf ("doc: Remove arrayRCU.rst") but is still referenced by whatisRCU.rst. Update it to reflect the current state of the documentation. Signed-off-by:
Zenghui Yu <zenghui.yu@linux.dev> Signed-off-by:
Paul E. McKenney <paulmck@kernel.org> Signed-off-by:
Uladzislau Rezki (Sony) <urezki@gmail.com>
-
- Feb 14, 2024
-
-
Paul E. McKenney authored
This commit completes the list of call_rcu*() functions that are not guaranteed to have their callbacks executing on the same CPU. While in the area, fix an unrelated typo. Signed-off-by:
Paul E. McKenney <paulmck@kernel.org> Signed-off-by:
Boqun Feng <boqun.feng@gmail.com>
-
Paul E. McKenney authored
This commit explicitly states that you should initialize any locks to be used by readers in your SLAB_TYPESAFE_BY_RCU constructor. Signed-off-by:
Paul E. McKenney <paulmck@kernel.org> Signed-off-by:
Boqun Feng <boqun.feng@gmail.com>
-
Paul E. McKenney authored
This commit adds CONFIG_RCU_STRICT_GRACE_PERIOD to the list of debugging Kconfig options in checklist.rst. Signed-off-by:
Paul E. McKenney <paulmck@kernel.org> Signed-off-by:
Boqun Feng <boqun.feng@gmail.com>
-
Paul E. McKenney authored
In kernels built with CONFIG_PREEMPT_RT=n, spinlock critical sections are RCU readers because they disable preemption. However, they are also RCU readers in CONFIG_PREEMPT_RT=y because in that case the locking primitives contain rcu_read_lock() and rcu_read_unlock(). Therefore, upgrade checklist.rst to document this non-obvious case. While in the area, fix a typo by changing "read-side critical" to "read-side critical section". Signed-off-by:
Paul E. McKenney <paulmck@kernel.org> Signed-off-by:
Boqun Feng <boqun.feng@gmail.com>
-
Paul E. McKenney authored
In kernels built with CONFIG_PREEMPT_RT=n, spinlock critical sections are RCU readers because they disable preemption. However, they are also RCU readers in CONFIG_PREEMPT_RT=y because in that case the locking primitives contain rcu_read_lock() and rcu_read_unlock(). Therefore, upgrade whatisRCU.rst to document this non-obvious case. Signed-off-by:
Paul E. McKenney <paulmck@kernel.org> Signed-off-by:
Boqun Feng <boqun.feng@gmail.com>
-
Paul E. McKenney authored
In kernels built with CONFIG_PREEMPT_RT=n, spinlock critical sections are RCU readers because they disable preemption. However, they are also RCU readers in CONFIG_PREEMPT_RT=y because the -rt locking primitives contain rcu_read_lock() and rcu_read_unlock(). Therefore, upgrade rcu_dereference.rst to document this non-obvious case. Reported-by:
Linus Torvalds <torvalds@linux-foundation.org> Closes: https://lore.kernel.org/lkml/CAHk-=whGKvjHCtJ6W4pQ0_h_k9fiFQ8V2GpM=BqYnB2X=SJ+XQ@mail.gmail.com/ Signed-off-by:
Paul E. McKenney <paulmck@kernel.org> Signed-off-by:
Boqun Feng <boqun.feng@gmail.com>
-
- Jan 30, 2024
-
-
Federico Vaga authored
To begin with: - locking/index.rst - locking/lockdep-design.rst - locking/lockstat.rst - locking/lockturture.rst - locking/locktypes.rst And RCU/torture.rst to avoid broken references. Signed-off-by:
Federico Vaga <federico.vaga@vaga.pv.it> Signed-off-by:
Jonathan Corbet <corbet@lwn.net> Link: https://lore.kernel.org/r/20240106233820.30454-1-federico.vaga@vaga.pv.it
-
- Dec 13, 2023
-
-
Paul E. McKenney authored
This commit adds discussion of address and data dependencies to the beginning of rcu_dereference.rst in order to enable readers to more easily make the connection to the Linux-kernel memory model in general and to memory-barriers.txt in particular. Reported-by:
Jonas Oberhauser <jonas.oberhauser@huaweicloud.com> Reported-by:
Akira Yokosawa <akiyks@gmail.com> Signed-off-by:
Paul E. McKenney <paulmck@kernel.org> Signed-off-by:
Neeraj Upadhyay (AMD) <neeraj.iitr10@gmail.com>
-
Paul E. McKenney authored
Currently, the reader/updater compatibility rules for the three RCU Tasks flavors are squished together in a single paragraph, which can result in confusion. This commit therefore splits them out into a list, clearly showing the distinction between these flavors. Link: https://lore.kernel.org/all/20231002211936.5948253e@gandalf.local.home/ Reported-by:
Steven Rostedt <rostedt@goodmis.org> Signed-off-by:
Paul E. McKenney <paulmck@kernel.org> Reviewed-by:
Mathieu Desnoyers <mathieu.desnoyers@efficios.com> Reviewed-by:
Steven Rostedt (Google) <rostedt@goodmis.org> Signed-off-by:
Neeraj Upadhyay (AMD) <neeraj.iitr10@gmail.com>
-
Charles Han authored
Remove the repeated word "of" in comments. Signed-off-by:
Charles Han <hanchunchao@inspur.com> Signed-off-by:
Paul E. McKenney <paulmck@kernel.org> Signed-off-by:
Neeraj Upadhyay (AMD) <neeraj.iitr10@gmail.com>
-
- Oct 04, 2023
-
-
Frederic Weisbecker authored
rcu_report_dead() and rcutree_migrate_callbacks() have their headers in rcupdate.h while those are pure rcutree calls, like the other CPU-hotplug functions. Also rcu_cpu_starting() and rcu_report_dead() have different naming conventions while they mirror each other's effects. Fix the headers and propose a naming that relates both functions and aligns with the prefix of other rcutree CPU-hotplug functions. Reviewed-by:
Paul E. McKenney <paulmck@kernel.org> Signed-off-by:
Frederic Weisbecker <frederic@kernel.org>
-
Frederic Weisbecker authored
This function is gone since: 53b46303 (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>
-
- Sep 11, 2023
-
-
Matthew Wilcox (Oracle) authored
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>
-
Wei Zhang authored
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>
-
- Jul 14, 2023
-
-
SeongJae Park authored
The document says we can avoid extra _release() in insert function when hlist_nulls is used, but that's not true[1]. Drop it. [1] https://lore.kernel.org/rcu/46440869-644a-4982-b790-b71b43976c66@paulmck-laptop/ Signed-off-by:
SeongJae Park <sj@kernel.org> Signed-off-by:
Paul E. McKenney <paulmck@kernel.org>
-
SeongJae Park authored
The example code snippets on rculist_nulls.rst are assuming 'obj' to have the 'hlist_head' or 'hlist_nulls_head' field named 'obj_node', but a sentence and some code snippets are wrongly calling 'obj->obj_node.next' as 'obj->obj_next', or 'obj->obj_node' as 'member'. Fix it. Signed-off-by:
SeongJae Park <sj@kernel.org> Signed-off-by:
Paul E. McKenney <paulmck@kernel.org>
-
SeongJae Park authored
The type of 'obj' in example code of rculist_nulls.rst is implicit. Provide the specific type of it before the example code. Suggested-by:
Paul E. McKenney <paulmck@kernel.org> Link: https://lore.kernel.org/rcu/43943609-f80c-4b6a-9844-994eef800757@paulmck-laptop/ Signed-off-by:
SeongJae Park <sj@kernel.org> Signed-off-by:
Paul E. McKenney <paulmck@kernel.org>
-
SeongJae Park authored
Lookup example code snippets in rculist_nulls.rst are using 'obj' without assignment. Fix the code to assign it properly. Signed-off-by:
SeongJae Park <sj@kernel.org> Reviewed-by:
Joel Fernandes (Google) <joel@joelfernandes.org> Signed-off-by:
Paul E. McKenney <paulmck@kernel.org>
-
SeongJae Park authored
Lookup example of non-hlist_nulls management is missing a semicolon, and having inconsistent indentation (one line is using single space indentation while others are using two spaces indentation). Fix the trivial issues. Signed-off-by:
SeongJae Park <sj@kernel.org> Reviewed-by:
Joel Fernandes (Google) <joel@joelfernandes.org> Signed-off-by:
Paul E. McKenney <paulmck@kernel.org>
-
Alan Huang authored
We should exit the RCU read-side critical section before re-entering. Signed-off-by:
Alan Huang <mmpgouride@gmail.com> Signed-off-by:
Paul E. McKenney <paulmck@kernel.org>
-
Tycho Andersen authored
s/slat/splat/ Signed-off-by:
Tycho Andersen <tandersen@netflix.com> Signed-off-by:
Paul E. McKenney <paulmck@kernel.org>
-
- May 11, 2023
-
-
Peter Zijlstra authored
Since there are now exactly _zero_ users of RCU_NONIDLE(), make it go away before someone else decides to (ab)use it. [ paulmck: Remove extraneous whitespace. ] Signed-off-by:
Peter Zijlstra (Intel) <peterz@infradead.org> Acked-by:
Mark Rutland <mark.rutland@arm.com> Acked-by:
Frederic Weisbecker <frederic@kernel.org> Signed-off-by:
Paul E. McKenney <paulmck@kernel.org>
-
- Apr 05, 2023
-
-
Uladzislau Rezki (Sony) authored
The kfree_rcu() macro is deprecated. Rename it to its new kfree_rcu_mightsleep() name in this documentation. Acked-by:
Joel Fernandes (Google) <joel@joelfernandes.org> Signed-off-by:
Uladzislau Rezki (Sony) <urezki@gmail.com> Signed-off-by:
Paul E. McKenney <paulmck@kernel.org> Signed-off-by:
Joel Fernandes (Google) <joel@joelfernandes.org>
-
Randy Dunlap authored
Correct spelling problems for Documentation/RCU/ as reported by codespell. Note: in RTFP.txt, there are other misspellings that are left as is since they were used that way in email Subject: lines or in LWN.net articles. [preemptable, Preemptable, synchonisation] Acked-by:
Joel Fernandes (Google) <joel@joelfernandes.org> Signed-off-by:
Randy Dunlap <rdunlap@infradead.org> Cc: Jonathan Corbet <corbet@lwn.net> Cc: linux-doc@vger.kernel.org Cc: "Paul E. McKenney" <paulmck@kernel.org> Cc: Frederic Weisbecker <frederic@kernel.org> Cc: Neeraj Upadhyay <quic_neeraju@quicinc.com> Cc: Josh Triplett <josh@joshtriplett.org> Cc: rcu@vger.kernel.org Signed-off-by:
Paul E. McKenney <paulmck@kernel.org> Signed-off-by:
Joel Fernandes (Google) <joel@joelfernandes.org>
-
Qiuxu Zhuo authored
"Please not that you *cannot* rely..." has a typo. Fix it. Acked-by:
Joel Fernandes (Google) <joel@joelfernandes.org> Signed-off-by:
Qiuxu Zhuo <qiuxu.zhuo@intel.com> Signed-off-by:
Paul E. McKenney <paulmck@kernel.org> Signed-off-by:
Joel Fernandes (Google) <joel@joelfernandes.org>
-
- Jan 05, 2023
-
-
Zhen Lei authored
Documentation/RCU/stallwarn.rst: 401: WARNING: Literal block expected; none found. 428: WARNING: Literal block expected; none found. 445: WARNING: Literal block expected; none found. 459: WARNING: Literal block expected; none found. 468: WARNING: Literal block expected; none found. The literal block needs to be indented, so this commit adds two spaces to each line. In addition, ':', which is used as a boundary in the literal block, is replaced by '|'. Link: https://lore.kernel.org/linux-next/20221123163255.48653674@canb.auug.org.au/ Fixes: 3d2788ba4573 ("doc: Document CONFIG_RCU_CPU_STALL_CPUTIME=y stall information") Reported-by:
Stephen Rothwell <sfr@canb.auug.org.au> Signed-off-by:
Zhen Lei <thunder.leizhen@huawei.com> Tested-by:
Akira Yokosawa <akiyks@gmail.com> Signed-off-by:
Paul E. McKenney <paulmck@kernel.org>
-
Akira Yokosawa authored
Line numbers in code snippets in rcubarrier.rst have beed left adjusted since commit 4af49830 ("doc: Convert to rcubarrier.txt to ReST"). This might have been because right adjusting them had confused Sphinx. The rules around a literal block in reST are: - Need a blank line above it. - A line with the same indent level as the line above it is regarded as the end of it. Those line numbers can be right adjusted by keeping indents at two- digit numbers. While at it, add some spaces between the column of line numbers and the code area for better readability. Signed-off-by:
Akira Yokosawa <akiyks@gmail.com> Signed-off-by:
Paul E. McKenney <paulmck@kernel.org>
-