Home
last modified time | relevance | path

Searched refs:rcu_data (Results 1 – 9 of 9) sorted by relevance

/Linux-v5.10/kernel/rcu/
Dtree_plugin.h134 static void rcu_preempt_ctxt_queue(struct rcu_node *rnp, struct rcu_data *rdp) in rcu_preempt_ctxt_queue()
266 if (__this_cpu_read(rcu_data.cpu_no_qs.s)) { in rcu_qs()
268 __this_cpu_read(rcu_data.gp_seq), in rcu_qs()
270 __this_cpu_write(rcu_data.cpu_no_qs.b.norm, false); in rcu_qs()
292 struct rcu_data *rdp = this_cpu_ptr(&rcu_data); in rcu_note_context_switch()
446 struct rcu_data *rdp; in rcu_preempt_deferred_qs_irqrestore()
456 rdp = this_cpu_ptr(&rcu_data); in rcu_preempt_deferred_qs_irqrestore()
560 return (__this_cpu_read(rcu_data.exp_deferred_qs) || in rcu_preempt_need_deferred_qs()
587 struct rcu_data *rdp; in rcu_preempt_deferred_qs_handler()
589 rdp = container_of(iwp, struct rcu_data, defer_qs_iw); in rcu_preempt_deferred_qs_handler()
[all …]
Dtree.h150 struct rcu_data { struct
228 struct rcu_data *nocb_next_cb_rdp; argument
232 struct rcu_data *nocb_gp_rdp ____cacheline_internodealigned_in_smp; argument
423 static void zero_cpu_stall_ticks(struct rcu_data *rdp);
427 static bool rcu_nocb_flush_bypass(struct rcu_data *rdp, struct rcu_head *rhp,
429 static bool rcu_nocb_try_bypass(struct rcu_data *rdp, struct rcu_head *rhp,
431 static void __call_rcu_nocb_wake(struct rcu_data *rdp, bool was_empty,
433 static int rcu_nocb_need_deferred_wakeup(struct rcu_data *rdp);
434 static void do_nocb_deferred_wakeup(struct rcu_data *rdp);
435 static void rcu_boot_init_nocb_percpu_data(struct rcu_data *rdp);
[all …]
Dtree.c82 static DEFINE_PER_CPU_SHARED_ALIGNED(struct rcu_data, rcu_data) = {
151 static void rcu_report_exp_rdp(struct rcu_data *rdp);
153 static void check_cb_ovld_locked(struct rcu_data *rdp, struct rcu_node *rnp);
228 struct rcu_data *rdp = per_cpu_ptr(&rcu_data, cpu); in rcu_get_n_cbs_cpu()
249 struct rcu_data *rdp = this_cpu_ptr(&rcu_data); in rcu_dynticks_eqs_enter()
274 struct rcu_data *rdp = this_cpu_ptr(&rcu_data); in rcu_dynticks_eqs_exit()
305 struct rcu_data *rdp = this_cpu_ptr(&rcu_data); in rcu_dynticks_eqs_online()
319 struct rcu_data *rdp = this_cpu_ptr(&rcu_data); in rcu_dynticks_curr_cpu_in_eqs()
328 static int rcu_dynticks_snap(struct rcu_data *rdp) in rcu_dynticks_snap()
349 static bool rcu_dynticks_in_eqs_since(struct rcu_data *rdp, int snap) in rcu_dynticks_in_eqs_since()
[all …]
Dtree_exp.h235 struct rcu_data *rdp; in rcu_report_exp_cpu_mult()
244 rdp = per_cpu_ptr(&rcu_data, cpu); in rcu_report_exp_cpu_mult()
256 static void rcu_report_exp_rdp(struct rcu_data *rdp) in rcu_report_exp_rdp()
282 struct rcu_data *rdp = per_cpu_ptr(&rcu_data, raw_smp_processor_id()); in exp_funnel_lock()
353 struct rcu_data *rdp = per_cpu_ptr(&rcu_data, cpu); in sync_rcu_exp_select_node_cpus()
381 struct rcu_data *rdp = per_cpu_ptr(&rcu_data, cpu); in sync_rcu_exp_select_node_cpus()
493 struct rcu_data *rdp; in synchronize_rcu_expedited_wait()
505 rdp = per_cpu_ptr(&rcu_data, cpu); in synchronize_rcu_expedited_wait()
530 struct rcu_data *rdp; in synchronize_rcu_expedited_wait()
536 rdp = per_cpu_ptr(&rcu_data, cpu); in synchronize_rcu_expedited_wait()
[all …]
Dtree_stall.h146 static void zero_cpu_stall_ticks(struct rcu_data *rdp) in zero_cpu_stall_ticks()
181 struct rcu_data *rdp; in rcu_iw_handler()
184 rdp = container_of(iwp, struct rcu_data, rcu_iw); in rcu_iw_handler()
341 struct rcu_data *rdp = &per_cpu(rcu_data, cpu); in print_cpu_stall_fast_no_hz()
405 struct rcu_data *rdp = per_cpu_ptr(&rcu_data, cpu); in print_cpu_stall_info()
537 struct rcu_data *rdp = this_cpu_ptr(&rcu_data); in print_cpu_stall()
585 static void check_cpu_stall(struct rcu_data *rdp) in check_cpu_stall()
668 struct rcu_data *rdp; in show_rcu_gp_kthreads()
693 rdp = per_cpu_ptr(&rcu_data, cpu); in show_rcu_gp_kthreads()
703 rdp = per_cpu_ptr(&rcu_data, cpu); in show_rcu_gp_kthreads()
[all …]
/Linux-v5.10/Documentation/RCU/Design/Data-Structures/
DData-Structures.rst29 to 16 ``rcu_data`` structures associated with it, so that there are
30 ``NR_CPUS`` number of ``rcu_data`` structures, one for each possible CPU.
42 Quiescent states are recorded by the per-CPU ``rcu_data`` structures,
124 ``rcu_head`` structures, which are queued on ``rcu_data`` structures
140 #. The fields in ``rcu_data`` are private to the corresponding CPU,
155 ``rcu_node`` and ``rcu_data`` structures, tracks grace periods,
173 #. ``rcu_data``: This per-CPU structure is the focus of quiescent-state
190 and ``rcu_data`` data structures.
197 between the ``rcu_node`` and ``rcu_data`` structures, tracks grace
206 Relationship to rcu_node and rcu_data Structures
[all …]
/Linux-v5.10/Documentation/RCU/
Drcubarrier.rst245 4 struct rcu_data *rdp = &per_cpu(rcu_data, cpu);
253 Lines 3 and 4 locate RCU's internal per-CPU rcu_data structure,
/Linux-v5.10/tools/memory-model/Documentation/
Dsimple.txt127 within its instance of the per-CPU rcu_data structure, and then uses data
/Linux-v5.10/Documentation/RCU/Design/Memory-Ordering/
DTree-RCU-Memory-Ordering.rst176 4 struct rcu_data *rdp;