Searched refs:rcu_data (Results 1 – 10 of 10) sorted by relevance
| /Linux-v5.15/kernel/rcu/ |
| D | tree_nocb.h | 19 static inline int rcu_lockdep_is_held_nocb(struct rcu_data *rdp) in rcu_lockdep_is_held_nocb() 24 static inline bool rcu_current_is_nocb_kthread(struct rcu_data *rdp) in rcu_current_is_nocb_kthread() 94 static void rcu_nocb_bypass_lock(struct rcu_data *rdp) in rcu_nocb_bypass_lock() 118 static void rcu_nocb_wait_contended(struct rcu_data *rdp) in rcu_nocb_wait_contended() 129 static bool rcu_nocb_bypass_trylock(struct rcu_data *rdp) in rcu_nocb_bypass_trylock() 138 static void rcu_nocb_bypass_unlock(struct rcu_data *rdp) in rcu_nocb_bypass_unlock() 149 static void rcu_nocb_lock(struct rcu_data *rdp) in rcu_nocb_lock() 161 static void rcu_nocb_unlock(struct rcu_data *rdp) in rcu_nocb_unlock() 173 static void rcu_nocb_unlock_irqrestore(struct rcu_data *rdp, in rcu_nocb_unlock_irqrestore() 185 static void rcu_lockdep_assert_cblist_protected(struct rcu_data *rdp) in rcu_lockdep_assert_cblist_protected() [all …]
|
| D | tree.h | 152 struct rcu_data { struct 230 struct rcu_data *nocb_next_cb_rdp; argument 234 struct rcu_data *nocb_gp_rdp ____cacheline_internodealigned_in_smp; argument 427 static void zero_cpu_stall_ticks(struct rcu_data *rdp); 431 static bool rcu_nocb_flush_bypass(struct rcu_data *rdp, struct rcu_head *rhp, 433 static bool rcu_nocb_try_bypass(struct rcu_data *rdp, struct rcu_head *rhp, 435 static void __call_rcu_nocb_wake(struct rcu_data *rdp, bool was_empty, 437 static int rcu_nocb_need_deferred_wakeup(struct rcu_data *rdp, int level); 438 static bool do_nocb_deferred_wakeup(struct rcu_data *rdp); 439 static void rcu_boot_init_nocb_percpu_data(struct rcu_data *rdp); [all …]
|
| D | tree_plugin.h | 16 static bool rcu_rdp_is_offloaded(struct rcu_data *rdp) in rcu_rdp_is_offloaded() 31 (rdp == this_cpu_ptr(&rcu_data) && in rcu_rdp_is_offloaded() 153 static void rcu_preempt_ctxt_queue(struct rcu_node *rnp, struct rcu_data *rdp) in rcu_preempt_ctxt_queue() 285 if (__this_cpu_read(rcu_data.cpu_no_qs.s)) { in rcu_qs() 287 __this_cpu_read(rcu_data.gp_seq), in rcu_qs() 289 __this_cpu_write(rcu_data.cpu_no_qs.b.norm, false); in rcu_qs() 311 struct rcu_data *rdp = this_cpu_ptr(&rcu_data); in rcu_note_context_switch() 469 struct rcu_data *rdp; in rcu_preempt_deferred_qs_irqrestore() 479 rdp = this_cpu_ptr(&rcu_data); in rcu_preempt_deferred_qs_irqrestore() 583 return (__this_cpu_read(rcu_data.exp_deferred_qs) || in rcu_preempt_need_deferred_qs() [all …]
|
| D | tree.c | 77 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); 154 static bool rcu_rdp_is_offloaded(struct rcu_data *rdp); 240 struct rcu_data *rdp = per_cpu_ptr(&rcu_data, cpu); in rcu_get_n_cbs_cpu() 260 return arch_atomic_add_return(incby, this_cpu_ptr(&rcu_data.dynticks)); in rcu_dynticks_inc() 316 struct rcu_data *rdp = this_cpu_ptr(&rcu_data); in rcu_dynticks_eqs_online() 330 return !(atomic_read(this_cpu_ptr(&rcu_data.dynticks)) & 0x1); in rcu_dynticks_curr_cpu_in_eqs() 337 static int rcu_dynticks_snap(struct rcu_data *rdp) in rcu_dynticks_snap() 355 struct rcu_data *rdp = per_cpu_ptr(&rcu_data, cpu); in rcu_is_idle_cpu() [all …]
|
| D | tree_exp.h | 235 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() 531 struct rcu_data *rdp; in synchronize_rcu_expedited_wait() 537 rdp = per_cpu_ptr(&rcu_data, cpu); in synchronize_rcu_expedited_wait() [all …]
|
| D | tree_stall.h | 151 static void zero_cpu_stall_ticks(struct rcu_data *rdp) in zero_cpu_stall_ticks() 186 struct rcu_data *rdp; in rcu_iw_handler() 189 rdp = container_of(iwp, struct rcu_data, rcu_iw); in rcu_iw_handler() 354 struct rcu_data *rdp = per_cpu_ptr(&rcu_data, cpu); in print_cpu_stall_fast_no_hz() 418 struct rcu_data *rdp = per_cpu_ptr(&rcu_data, cpu); in print_cpu_stall_info() 597 struct rcu_data *rdp = this_cpu_ptr(&rcu_data); in print_cpu_stall() 649 static void check_cpu_stall(struct rcu_data *rdp) in check_cpu_stall() 814 struct rcu_data *rdp; in show_rcu_gp_kthreads() 850 rdp = per_cpu_ptr(&rcu_data, cpu); in show_rcu_gp_kthreads() 860 rdp = per_cpu_ptr(&rcu_data, cpu); in show_rcu_gp_kthreads() [all …]
|
| /Linux-v5.15/Documentation/RCU/Design/Data-Structures/ |
| D | Data-Structures.rst | 29 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.15/Documentation/RCU/ |
| D | rcubarrier.rst | 245 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.15/tools/memory-model/Documentation/ |
| D | simple.txt | 127 within its instance of the per-CPU rcu_data structure, and then uses data
|
| /Linux-v5.15/Documentation/RCU/Design/Memory-Ordering/ |
| D | Tree-RCU-Memory-Ordering.rst | 205 4 struct rcu_data *rdp;
|