Home
last modified time | relevance | path

Searched full:rcu (Results 1 – 25 of 1871) sorted by relevance

12345678910>>...75

/kernel/linux/linux-5.10/Documentation/RCU/
Drcu.rst3 RCU Concepts
6 The basic idea behind RCU (read-copy update) is to split destructive
11 since dropped their references. For example, an RCU-protected deletion
14 :ref:`Documentation/RCU/listRCU.rst <list_rcu_doc>` for more information on
15 using RCU with linked lists.
20 - Why would anyone want to use RCU?
22 The advantage of RCU's two-part approach is that RCU readers need
26 on modern CPUs is what gives RCU its performance advantages
27 in read-mostly situations. The fact that RCU readers need not
31 if the RCU readers give no indication when they are done?
[all …]
DwhatisRCU.rst3 What is RCU? -- "Read, Copy, Update"
6 Please note that the "What is RCU?" LWN series is an excellent place
7 to start learning about RCU:
9 | 1. What is RCU, Fundamentally? http://lwn.net/Articles/262464/
10 | 2. What is RCU? Part 2: Usage http://lwn.net/Articles/263130/
11 | 3. RCU part 3: the RCU API http://lwn.net/Articles/264090/
12 | 4. The RCU API, 2010 Edition http://lwn.net/Articles/418853/
14 | 5. The RCU API, 2014 Edition http://lwn.net/Articles/609904/
18 What is RCU?
20 RCU is a synchronization mechanism that was added to the Linux kernel
[all …]
DRTFP.txt4 This document describes RCU-related publications, and is followed by
6 be found at http://www.rdrop.com/users/paulmck/RCU/. For others, browsers
9 The first thing resembling RCU was published in 1980, when Kung and Lehman
23 serialization, which is an RCU-like mechanism that relies on the presence
31 (In contrast, implementation of RCU is permitted only in software licensed
35 At first glance, this has nothing to do with RCU, but nevertheless
37 RCU implementation in DYNIX/ptx. In 1988, Barbara Liskov published
66 synchronization [HMassalinPhD]. RCU makes extremely heavy use of
91 1995 also saw the first publication of DYNIX/ptx's RCU mechanism
98 mechanism, which is quite similar to RCU [Gamsa99]. These operating
[all …]
Dlockdep.rst4 RCU and lockdep checking
7 All flavors of RCU have lockdep checking available, so that lockdep is
8 aware of when each task enters and leaves any flavor of RCU read-side
9 critical section. Each flavor of RCU is tracked separately (but note
11 tracking to include RCU state, which can sometimes help when debugging
14 In addition, RCU provides the following primitives that check lockdep's
17 rcu_read_lock_held() for normal RCU.
18 rcu_read_lock_bh_held() for RCU-bh.
19 rcu_read_lock_sched_held() for RCU-sched.
31 Check for RCU read-side critical section.
[all …]
Dchecklist.rst4 Review Checklist for RCU Patches
9 that make use of RCU. Violating any of the rules listed below will
14 0. Is RCU being applied to a read-mostly situation? If the data
17 performance measurements show that RCU is nonetheless the right
18 tool for the job. Yes, RCU does reduce read-side overhead by
20 of RCU will do much more reading than updating.
22 Another exception is where performance is not an issue, and RCU
27 Yet another exception is where the low real-time latency of RCU's
30 One final exception is where RCU readers are used to prevent
40 RCU does allow -readers- to run (almost) naked, but -writers- must
[all …]
Dstallwarn.rst4 Using RCU's CPU Stall Detector
7 This document first discusses what sorts of issues RCU's CPU stall
13 What Causes RCU CPU Stall Warnings?
16 So your kernel printed an RCU CPU stall warning. The next question is
17 "What caused it?" The following problems can result in RCU CPU stall
20 - A CPU looping in an RCU read-side critical section.
37 RCU CPU stall warning messages. Especially if you have added
40 - Anything that prevents RCU's grace-period kthreads from running.
48 happen to preempt a low-priority task in the middle of an RCU
51 in which case the next RCU grace period can never complete, which
[all …]
/kernel/linux/linux-4.19/kernel/rcu/
DKconfig2 # RCU-related configuration options
5 menu "RCU Subsystem"
11 This option selects the RCU implementation that is
20 This option selects the RCU implementation that is
32 This option selects the RCU implementation that is
35 memory footprint of RCU.
38 bool "Make expert-level adjustments to RCU configuration"
42 expert-level adjustments to RCU configuration. By default,
46 obscure RCU options to be set up.
48 Say Y if you need to make expert-level adjustments to RCU.
[all …]
DKconfig.debug2 # RCU-related debugging configuration options
5 menu "RCU Debugging"
15 tristate "performance tests for RCU"
23 tests on the RCU infrastructure. The kernel module may be built
26 Say Y here if you want RCU performance tests to be built into
28 Say M if you want the RCU performance tests to build as a module.
32 tristate "torture tests for RCU"
40 on the RCU infrastructure. The kernel module may be built
43 Say Y here if you want RCU torture tests to be built into
45 Say M if you want the RCU torture tests to build as a module.
[all …]
/kernel/linux/linux-5.10/kernel/rcu/
DKconfig3 # RCU-related configuration options
6 menu "RCU Subsystem"
12 This option selects the RCU implementation that is
22 This option selects the RCU implementation that is
34 This option selects the RCU implementation that is
37 memory footprint of RCU.
40 bool "Make expert-level adjustments to RCU configuration"
44 expert-level adjustments to RCU configuration. By default,
48 obscure RCU options to be set up.
50 Say Y if you need to make expert-level adjustments to RCU.
[all …]
DKconfig.debug3 # RCU-related debugging configuration options
6 menu "RCU Debugging"
12 bool "RCU list lockdep debugging"
16 Enable RCU lockdep checking for list usages. By default it is
17 turned off since there are several list RCU users that still
27 tristate "performance tests for RCU"
37 tests on the RCU infrastructure. The kernel module may be built
40 Say Y here if you want RCU performance tests to be built into
42 Say M if you want the RCU performance tests to build as a module.
46 tristate "torture tests for RCU"
[all …]
/kernel/linux/linux-4.19/Documentation/RCU/
Drcu.txt1 RCU Concepts
4 The basic idea behind RCU (read-copy update) is to split destructive
9 since dropped their references. For example, an RCU-protected deletion
12 file for more information on using RCU with linked lists.
17 o Why would anyone want to use RCU?
19 The advantage of RCU's two-part approach is that RCU readers need
23 on modern CPUs is what gives RCU its performance advantages
24 in read-mostly situations. The fact that RCU readers need not
28 if the RCU readers give no indication when they are done?
30 Just as with spinlocks, RCU readers are not permitted to
[all …]
DwhatisRCU.txt1 What is RCU? -- "Read, Copy, Update"
3 Please note that the "What is RCU?" LWN series is an excellent place
4 to start learning about RCU:
6 1. What is RCU, Fundamentally? http://lwn.net/Articles/262464/
7 2. What is RCU? Part 2: Usage http://lwn.net/Articles/263130/
8 3. RCU part 3: the RCU API http://lwn.net/Articles/264090/
9 4. The RCU API, 2010 Edition http://lwn.net/Articles/418853/
11 5. The RCU API, 2014 Edition http://lwn.net/Articles/609904/
15 What is RCU?
17 RCU is a synchronization mechanism that was added to the Linux kernel
[all …]
D00-INDEX4 - Using RCU to Protect Read-Mostly Arrays
6 - Review Checklist for RCU Patches
8 - Using RCU to Protect Read-Mostly Linked Lists
10 - RCU and lockdep checking
12 - RCU Lockdep splats explained.
13 NMI-RCU.txt
14 - Using RCU to Protect Dynamic NMI Handlers
18 - RCU and Unloadable Modules
20 - RCU list primitives for use with SLAB_TYPESAFE_BY_RCU
22 - Reference-count design for elements of lists/arrays protected by RCU
[all …]
DRTFP.txt4 This document describes RCU-related publications, and is followed by
6 be found at http://www.rdrop.com/users/paulmck/RCU/. For others, browsers
9 The first thing resembling RCU was published in 1980, when Kung and Lehman
23 serialization, which is an RCU-like mechanism that relies on the presence
31 (In contrast, implementation of RCU is permitted only in software licensed
35 At first glance, this has nothing to do with RCU, but nevertheless
37 RCU implementation in DYNIX/ptx. In 1988, Barbara Liskov published
66 synchronization [HMassalinPhD]. RCU makes extremely heavy use of
91 1995 also saw the first publication of DYNIX/ptx's RCU mechanism
98 mechanism, which is quite similar to RCU [Gamsa99]. These operating
[all …]
Dtorture.txt1 RCU Torture Test Operation
6 The CONFIG_RCU_TORTURE_TEST config option is available for all RCU
19 of force_quiescent_state() invocations. In RCU
40 irqreader Says to invoke RCU readers from irq level. This is currently
41 done via timers. Defaults to "1" for variants of RCU that
42 permit this. (Or, more accurately, variants of RCU that do
45 n_barrier_cbs If this is nonzero, RCU barrier testing will be conducted,
47 RCU callbacks (and corresponding kthreads) to use for
50 synchronous RCU implementation (one for which a member of
55 nfakewriters This is the number of RCU fake writer threads to run. Fake
[all …]
Dstallwarn.txt1 Using RCU's CPU Stall Detector
3 This document first discusses what sorts of issues RCU's CPU stall
9 What Causes RCU CPU Stall Warnings?
11 So your kernel printed an RCU CPU stall warning. The next question is
12 "What caused it?" The following problems can result in RCU CPU stall
15 o A CPU looping in an RCU read-side critical section.
20 result in RCU-sched stalls and, if ksoftirqd is in use, RCU-bh
24 result in RCU-sched and RCU-bh stalls.
35 RCU CPU stall warning messages. Especially if you have added
38 o Anything that prevents RCU's grace-period kthreads from running.
[all …]
Dlockdep.txt1 RCU and lockdep checking
3 All flavors of RCU have lockdep checking available, so that lockdep is
4 aware of when each task enters and leaves any flavor of RCU read-side
5 critical section. Each flavor of RCU is tracked separately (but note
7 tracking to include RCU state, which can sometimes help when debugging
10 In addition, RCU provides the following primitives that check lockdep's
13 rcu_read_lock_held() for normal RCU.
14 rcu_read_lock_bh_held() for RCU-bh.
15 rcu_read_lock_sched_held() for RCU-sched.
27 Check for RCU read-side critical section.
[all …]
Dchecklist.txt1 Review Checklist for RCU Patches
5 that make use of RCU. Violating any of the rules listed below will
10 0. Is RCU being applied to a read-mostly situation? If the data
13 performance measurements show that RCU is nonetheless the right
14 tool for the job. Yes, RCU does reduce read-side overhead by
16 of RCU will do much more reading than updating.
18 Another exception is where performance is not an issue, and RCU
23 Yet another exception is where the low real-time latency of RCU's
26 One final exception is where RCU readers are used to prevent
36 RCU does allow -readers- to run (almost) naked, but -writers- must
[all …]
DUP.txt1 RCU on Uniprocessor Systems
16 Suppose that an RCU-based algorithm scans a linked list containing
38 Suppose that an RCU-based algorithm again scans a linked list containing
43 RCU usage, since call_rcu() must wait for a grace period to elapse.
46 underlying RCU, namely that call_rcu() defers invoking its arguments until
47 all RCU read-side critical sections currently executing have completed.
79 Quick Quiz #2: What locking restriction must RCU callbacks respect?
84 Permitting call_rcu() to immediately invoke its arguments breaks RCU,
85 even on a UP system. So do not do it! Even on a UP system, the RCU
92 RCU.
[all …]
/kernel/linux/linux-5.10/tools/memory-model/
Dlinux-kernel.cat42 let gp = po ; [Sync-rcu | Sync-srcu] ; po?
47 let barrier = fencerel(Barrier | Rmb | Wmb | Mb | Sync-rcu | Sync-srcu |
49 Rcu-lock | Rcu-unlock | Srcu-lock | Srcu-unlock) |
98 (* RCU *)
106 * In the definition of rcu-fence below, the po term at the left-hand side
108 * out. They have been moved into the definitions of rcu-link and rb.
111 let rcu-gp = [Sync-rcu] (* Compare with gp *)
113 let rcu-rscsi = rcu-rscs^-1
118 * one but two non-rf relations, but only in conjunction with an RCU
121 let rcu-link = po? ; hb* ; pb* ; prop ; po
[all …]
/kernel/linux/linux-5.10/Documentation/RCU/Design/Requirements/
DRequirements.rst2 A Tour Through RCU's Requirements
18 Read-copy update (RCU) is a synchronization mechanism that is often used
19 as a replacement for reader-writer locking. RCU is unusual in that
20 updaters do not block readers, which means that RCU's read-side
23 this concurrency between RCU readers and updaters does raise the
24 question of exactly what RCU readers are doing, which in turn raises the
25 question of exactly what RCU's requirements are.
27 This document therefore summarizes RCU's requirements, and can be
28 thought of as an informal, high-level specification for RCU. It is
29 important to understand that RCU's specification is primarily empirical
[all …]
/kernel/linux/linux-4.19/Documentation/RCU/Design/Requirements/
DRequirements.html4 <head><title>A Tour Through RCU's Requirements [LWN.net]</title>
7 <h1>A Tour Through RCU's Requirements</h1>
20 Read-copy update (RCU) is a synchronization mechanism that is often
22 RCU is unusual in that updaters do not block readers,
23 which means that RCU's read-side primitives can be exceedingly fast
27 However, all this concurrency between RCU readers and updaters does raise
28 the question of exactly what RCU readers are doing, which in turn
29 raises the question of exactly what RCU's requirements are.
32 This document therefore summarizes RCU's requirements, and can be thought
33 of as an informal, high-level specification for RCU.
[all …]
/kernel/linux/linux-4.19/include/linux/
Drcupdate.h133 * RCU_NONIDLE - Indicate idle-loop code that needs RCU readers
134 * @a: Code that RCU needs to pay attention to.
136 * RCU, RCU-bh, and RCU-sched read-side critical sections are forbidden
138 * the rcu_idle_exit() -- RCU will happily ignore any such read-side
143 * will tell RCU that it needs to pay attention, invoke its argument
145 * and then tell RCU to go back to ignoring this CPU. It is permissible
159 * Note a quasi-voluntary context switch for RCU-tasks's benefit.
187 * cond_resched_tasks_rcu_qs - Report potential quiescent states to RCU
190 * report potential quiescent states to RCU-tasks even if the cond_resched()
209 #error "Unknown RCU implementation specified to kernel configuration"
[all …]
/kernel/linux/linux-5.10/include/linux/
Drcupdate.h122 * RCU_NONIDLE - Indicate idle-loop code that needs RCU readers
123 * @a: Code that RCU needs to pay attention to.
125 * RCU read-side critical sections are forbidden in the inner idle loop,
126 * that is, between the rcu_idle_enter() and the rcu_idle_exit() -- RCU
131 * will tell RCU that it needs to pay attention, invoke its argument
133 * and then tell RCU to go back to ignoring this CPU. It is permissible
147 * Note a quasi-voluntary context switch for RCU-tasks's benefit.
203 * cond_resched_tasks_rcu_qs - Report potential quiescent states to RCU
206 * report potential quiescent states to RCU-tasks even if the cond_resched()
225 #error "Unknown RCU implementation specified to kernel configuration"
[all …]
/kernel/linux/linux-4.19/tools/memory-model/
Dlinux-kernel.cat34 let gp = po ; [Sync-rcu] ; po?
88 (* RCU *)
100 * one but two non-rf relations, but only in conjunction with an RCU
103 let rcu-link = hb* ; pb* ; prop
106 * Any sequence containing at least as many grace periods as RCU read-side
107 * critical sections (joined by rcu-link) acts as a generalized strong fence.
109 let rec rcu-fence = gp |
110 (gp ; rcu-link ; rscs) |
111 (rscs ; rcu-link ; gp) |
112 (gp ; rcu-link ; rcu-fence ; rcu-link ; rscs) |
[all …]

12345678910>>...75