Lines Matching full:structure
16 <li> <a href="#Data-Structure Relationships">
17 Data-Structure Relationships</a>
18 <li> <a href="#The rcu_state Structure">
19 The <tt>rcu_state</tt> Structure</a>
20 <li> <a href="#The rcu_node Structure">
21 The <tt>rcu_node</tt> Structure</a>
22 <li> <a href="#The rcu_segcblist Structure">
23 The <tt>rcu_segcblist</tt> Structure</a>
24 <li> <a href="#The rcu_data Structure">
25 The <tt>rcu_data</tt> Structure</a>
26 <li> <a href="#The rcu_dynticks Structure">
27 The <tt>rcu_dynticks</tt> Structure</a>
28 <li> <a href="#The rcu_head Structure">
29 The <tt>rcu_head</tt> Structure</a>
30 <li> <a href="#RCU-Specific Fields in the task_struct Structure">
31 RCU-Specific Fields in the <tt>task_struct</tt> Structure</a>
36 <h3><a name="Data-Structure Relationships">Data-Structure Relationships</a></h3>
47 </p><p>This diagram shows an enclosing <tt>rcu_state</tt> structure
53 This structure is adjusted at boot time, if needed, to handle the
70 structure.
139 into a given <tt>rcu_node</tt> structure need advance to the <tt>rcu_node</tt>
140 structure at the next level up the tree.
141 This means that at the leaf-level <tt>rcu_node</tt> structure, only
150 <tt>rcu_node</tt> structure, thus ensuring that the lock contention
151 on that root <tt>rcu_node</tt> structure remains acceptably low.
175 RCU uses the <tt>rcu_dynticks</tt> structure to track
182 Therefore, a single <tt>rcu_dynticks</tt> structure is allocated per
213 <tt>rcu_node</tt> structure's lock.
214 <li> Each <tt>rcu_node</tt> structure has a spinlock.
238 This structure forms the interconnection between the
246 <li> <tt>rcu_node</tt>: This structure forms the combining
263 <li> <tt>rcu_data</tt>: This per-CPU structure is the
266 <tt>rcu_node</tt> structure to allow more-efficient
269 Like the <tt>rcu_node</tt> structure, it provides a local
273 Finally, this structure records past dyntick-idle state
276 This per-CPU structure tracks the current dyntick-idle
279 structure is not replicated per RCU flavor.
281 This structure represents RCU callbacks, and is the
282 only structure allocated and managed by RCU users.
283 The <tt>rcu_head</tt> structure is normally embedded
284 within the RCU-protected data structure.
293 <h3><a name="The rcu_state Structure">
294 The <tt>rcu_state</tt> Structure</a></h3>
296 <p>The <tt>rcu_state</tt> structure is the base structure that
298 This structure forms the interconnection between the
305 </p><p>A few of the <tt>rcu_state</tt> structure's fields are discussed,
312 This portion of the <tt>rcu_state</tt> structure is declared
356 the first <tt>rcu_node</tt> structure on the corresponding level
362 <tt>rcu_node</tt> structure, the first element references the
364 element references the first leaf <tt>rcu_node</tt> structure.
372 pointer to the corresponding CPU's <tt>rcu_data</tt> structure.
379 <p>This portion of the <tt>rcu_state</tt> structure is declared
394 This field is protected by the root <tt>rcu_node</tt> structure's
400 The fields in the <tt>rcu_state</tt> structure represent the
409 <p>This portion of the <tt>rcu_state</tt> structure is declared
427 <h3><a name="The rcu_node Structure">
428 The <tt>rcu_node</tt> Structure</a></h3>
448 </p><p>The <tt>rcu_node</tt> structure's fields are discussed,
453 <p>This portion of the <tt>rcu_node</tt> structure is declared
480 structure in its parent's bitmasks, which are described later.
483 <tt>rcu_node</tt> structure, respectively.
490 <p>This field of the <tt>rcu_node</tt> structure is declared
497 <p>This field is used to protect the remaining fields in this structure,
499 That said, all of the fields in this structure can be accessed without
506 <p>This portion of the <tt>rcu_node</tt> structure is declared
516 structure.
519 If the bottom two bits of a given <tt>rcu_node</tt> structure's
521 structure believes that RCU is idle.
523 structure is updated at the beginning and the end
528 <tt>rcu_node</tt> structure. The request is considered fulfilled when
536 Suppose that this <tt>rcu_node</tt> structure doesn't see
557 </p><p>This portion of the <tt>rcu_node</tt> structure has fields
568 <tt>rcu_node</tt> structure's children still need to report
575 of this <tt>rcu_node</tt> structure's children still need to report
584 <tt>rcu_node</tt> structure's children cover for at least
658 structure tracks them.
673 leaf <tt>rcu_node</tt> structure corresponding to the CPU
701 last leaf <tt>rcu_node</tt> structure's blocked-task list
793 <p>The maximum number of levels in the <tt>rcu_node</tt> structure
795 and the structure of the subsequent “if” statement.
816 handled by each leaf <tt>rcu_node</tt> structure.
818 structure to handle 64 CPUs, as permitted by the number of bits in
822 The number of CPUs per leaf <tt>rcu_node</tt> structure is therefore
830 a single-level (which contains a single <tt>rcu_node</tt> structure),
860 <h3><a name="The rcu_segcblist Structure">
861 The <tt>rcu_segcblist</tt> Structure</a></h3>
863 The <tt>rcu_segcblist</tt> structure maintains a segmented list of
970 this <tt>rcu_segcblist</tt> structure, <i>not</i> the <tt>->head</tt>
982 structure.
988 <h3><a name="The rcu_data Structure">
989 The <tt>rcu_data</tt> Structure</a></h3>
993 The fields in this structure may be accessed only from the corresponding
995 This structure is the
998 <tt>rcu_node</tt> structure to allow more-efficient
1001 Like the <tt>rcu_node</tt> structure, it provides a local
1005 Finally, this structure records past dyntick-idle state
1008 </p><p>The <tt>rcu_data</tt> structure's fields are discussed,
1013 <p>This portion of the <tt>rcu_data</tt> structure is declared
1027 the corresponding <tt>rcu_state</tt> structure (and is most frequently
1030 <tt>rcu_node</tt> structure.
1034 <tt>rcu_dynticks</tt> structure corresponding to this
1037 structure is shared among all flavors of RCU.
1043 <tt>rcu_data</tt> structure, and is also used when propagating
1047 out any <tt>rcu_data</tt> structure for which this flag is not set.
1051 <p>This portion of the <tt>rcu_data</tt> structure is declared
1071 If the lower two bits of a given <tt>rcu_data</tt> structure's
1073 structure believes that RCU is idle.
1121 </p><p>This portion of the <tt>rcu_data</tt> structure is declared
1135 <p>The <tt>->cblist</tt> structure is the segmented callback list
1137 The CPU advances the callbacks in its <tt>rcu_data</tt> structure
1140 that the value of its <tt>rcu_data</tt> structure's
1142 <tt>rcu_node</tt> structure.
1143 Recall that each <tt>rcu_node</tt> structure's
1167 <p>This portion of the <tt>rcu_data</tt> structure is declared
1182 <h3><a name="The rcu_dynticks Structure">
1183 The <tt>rcu_dynticks</tt> Structure</a></h3>
1189 The fields in this structure may be accessed only from the corresponding
1276 <h3><a name="The rcu_head Structure">
1277 The <tt>rcu_head</tt> Structure</a></h3>
1279 <p>Each <tt>rcu_head</tt> structure represents an RCU callback.
1285 </p><p>The <tt>rcu_head</tt> structure has fields as follows:
1298 structure.
1301 structure within the enclosing RCU-protected data structure.
1304 From the viewpoint of RCU users, this structure is an
1312 is passed a pointer to the <tt>rcu_head</tt> structure,
1314 enclosing RCU-protected data structure?
1319 type of RCU-protected data structure.
1323 enclosing structure.
1328 <h3><a name="RCU-Specific Fields in the task_struct Structure">
1329 RCU-Specific Fields in the <tt>task_struct</tt> Structure</a></h3>
1332 additional fields in the <tt>task_struct</tt> structure:
1357 the <tt>rcu_node</tt> structure whose list this task is a member of,
1399 first element of the specified <tt>rcu_state</tt> structure's
1401 structure.
1405 structures in the <tt>rcu_state</tt> structure's
1435 So each flavor of RCU is represented by an <tt>rcu_state</tt> structure,
1439 state is tracked by an <tt>rcu_dynticks</tt> structure.