Searched refs:rcu_state (Results 1 – 10 of 10) sorted by relevance
/Linux-v5.10/kernel/rcu/ |
D | tree_stall.h | 72 return !time_before(j, READ_ONCE(rcu_state.gp_start) + d); in rcu_gp_might_be_stalled() 124 WRITE_ONCE(rcu_state.jiffies_stall, jiffies + ULONG_MAX / 2); in rcu_cpu_stall_reset() 137 WRITE_ONCE(rcu_state.gp_start, j); in record_gp_stall_check_time() 140 WRITE_ONCE(rcu_state.jiffies_stall, j + j1); in record_gp_stall_check_time() 141 rcu_state.jiffies_resched = j + j1 / 2; in record_gp_stall_check_time() 142 rcu_state.n_force_qs_gpstart = READ_ONCE(rcu_state.n_force_qs); in record_gp_stall_check_time() 163 j = READ_ONCE(rcu_state.jiffies_kick_kthreads); in rcu_stall_kick_kthreads() 164 if (time_after(jiffies, j) && rcu_state.gp_kthread && in rcu_stall_kick_kthreads() 165 (rcu_gp_in_progress() || READ_ONCE(rcu_state.gp_flags))) { in rcu_stall_kick_kthreads() 167 rcu_state.name); in rcu_stall_kick_kthreads() [all …]
|
D | tree.c | 87 static struct rcu_state rcu_state = { variable 88 .level = { &rcu_state.node[0] }, 91 .barrier_mutex = __MUTEX_INITIALIZER(rcu_state.barrier_mutex), 94 .exp_mutex = __MUTEX_INITIALIZER(rcu_state.exp_mutex), 95 .exp_wake_mutex = __MUTEX_INITIALIZER(rcu_state.exp_wake_mutex), 96 .ofl_lock = __RAW_SPIN_LOCK_UNLOCKED(rcu_state.ofl_lock), 219 return rcu_seq_state(rcu_seq_current(&rcu_state.gp_seq)); in rcu_gp_in_progress() 571 return READ_ONCE(rcu_state.gp_seq); in rcu_get_gp_seq() 583 return rcu_state.expedited_sequence; in rcu_exp_batches_completed() 592 return &rcu_state.node[0]; in rcu_get_root() [all …]
|
D | tree_exp.h | 20 rcu_seq_start(&rcu_state.expedited_sequence); in rcu_exp_gp_seq_start() 29 return rcu_seq_endval(&rcu_state.expedited_sequence); in rcu_exp_gp_seq_endval() 37 rcu_seq_end(&rcu_state.expedited_sequence); in rcu_exp_gp_seq_end() 51 s = rcu_seq_snap(&rcu_state.expedited_sequence); in rcu_exp_gp_seq_snap() 52 trace_rcu_exp_grace_period(rcu_state.name, s, TPS("snap")); in rcu_exp_gp_seq_snap() 63 return rcu_seq_done(&rcu_state.expedited_sequence, s); in rcu_exp_gp_seq_done() 79 int ncpus = smp_load_acquire(&rcu_state.ncpus); /* Order vs. locking. */ in sync_exp_reset_tree_hotplug() 84 if (likely(ncpus == rcu_state.ncpus_snap)) in sync_exp_reset_tree_hotplug() 86 rcu_state.ncpus_snap = ncpus; in sync_exp_reset_tree_hotplug() 201 swake_up_one(&rcu_state.expedited_wq); in __rcu_report_exp_rnp() [all …]
|
D | tree_plugin.h | 314 trace_rcu_preempt_task(rcu_state.name, in rcu_note_context_switch() 379 if (IS_ENABLED(CONFIG_RCU_STRICT_GRACE_PERIOD) && rcu_state.gp_kthread) in __rcu_read_lock() 708 time_after(jiffies, rcu_state.gp_start + HZ)) in rcu_flavor_sched_clock_irq() 791 irqs_disabled() || preempt_count() || !rcu_state.gp_kthread) in rcu_read_unlock_strict() 1096 (!time_after(rnp->boost_time, jiffies) || rcu_state.cbovld))) { in rcu_initiate_boost() 1144 rcu_state.boost = 1; in rcu_spawn_one_boost_kthread() 1643 trace_rcu_nocb_wake(rcu_state.name, rdp->cpu, in wake_nocb_gp() 1654 trace_rcu_nocb_wake(rcu_state.name, rdp->cpu, TPS("DoWake")); in wake_nocb_gp() 1672 trace_rcu_nocb_wake(rcu_state.name, rdp->cpu, reason); in wake_nocb_gp_defer() 1798 trace_rcu_nocb_wake(rcu_state.name, rdp->cpu, in rcu_nocb_try_bypass() [all …]
|
D | rcu.h | 312 #define rcu_first_leaf_node() (rcu_state.level[rcu_num_lvls - 1]) 318 #define rcu_is_last_leaf_node(rnp) ((rnp) == &rcu_state.node[rcu_num_nodes - 1]) 329 srcu_for_each_node_breadth_first(&rcu_state, rnp) 339 (rnp) < &rcu_state.node[rcu_num_nodes]; (rnp)++)
|
D | tree.h | 295 struct rcu_state { struct
|
/Linux-v5.10/Documentation/RCU/Design/Data-Structures/ |
D | Data-Structures.rst | 27 This diagram shows an enclosing ``rcu_state`` structure containing a tree 137 #. Each ``rcu_state`` structures has a lock and a mutex, and some fields 154 #. ``rcu_state``: This structure forms the interconnection between the 189 following sections give more details on the ``rcu_state``, ``rcu_node`` 192 The ``rcu_state`` Structure 195 The ``rcu_state`` structure is the base structure that represents the 202 A few of the ``rcu_state`` structure's fields are discussed, singly and 209 This portion of the ``rcu_state`` structure is declared as follows: 268 This portion of the ``rcu_state`` structure is declared as follows: 283 structures as well. The fields in the ``rcu_state`` structure represent [all …]
|
/Linux-v5.10/Documentation/RCU/Design/Expedited-Grace-Periods/ |
D | Expedited-Grace-Periods.rst | 150 ``rcu_state`` structure's ``->ncpus`` field. The ``rcu_state`` 160 ``rcu_state`` structure's ``->ncpus`` and ``->ncpus_snap`` fields are 259 ``->expedited_sequence`` in the ``rcu_state`` structure. This counter 309 respectively. The current value of the ``rcu_state`` structure's 351 Task A now acquires the ``rcu_state`` structure's ``->exp_mutex`` and
|
/Linux-v5.10/Documentation/RCU/Design/Memory-Ordering/ |
D | Tree-RCU-Memory-Ordering.rst | 179 7 struct rcu_state *rsp; 317 advance the ``rcu_state`` structure's ``->gp_seq`` grace-period-number 346 to the newly advanced value from the ``rcu_state`` structure, as shown 355 ``rcu_state`` structure's ``->gp_seq`` field) before setting each leaf 543 ``rcu_state`` structure's ``->gp_seq`` field. The ordering effects are 562 | once the ``rcu_state`` structure's ``->gp_seq`` field has been |
|
/Linux-v5.10/Documentation/RCU/ |
D | stallwarn.rst | 203 possible for an rcu_state stall to be caused by both CPUs -and- tasks,
|