Searched refs:rnp (Results 1 – 8 of 8) sorted by relevance
/Linux-v5.10/kernel/rcu/ |
D | tree_exp.h | 13 static int rcu_print_task_exp_stall(struct rcu_node *rnp); 80 struct rcu_node *rnp; in sync_exp_reset_tree_hotplug() local 92 rcu_for_each_leaf_node(rnp) { in sync_exp_reset_tree_hotplug() 93 raw_spin_lock_irqsave_rcu_node(rnp, flags); in sync_exp_reset_tree_hotplug() 94 if (rnp->expmaskinit == rnp->expmaskinitnext) { in sync_exp_reset_tree_hotplug() 95 raw_spin_unlock_irqrestore_rcu_node(rnp, flags); in sync_exp_reset_tree_hotplug() 100 oldmask = rnp->expmaskinit; in sync_exp_reset_tree_hotplug() 101 rnp->expmaskinit = rnp->expmaskinitnext; in sync_exp_reset_tree_hotplug() 102 raw_spin_unlock_irqrestore_rcu_node(rnp, flags); in sync_exp_reset_tree_hotplug() 109 mask = rnp->grpmask; in sync_exp_reset_tree_hotplug() [all …]
|
D | tree.c | 145 static void rcu_report_qs_rnp(unsigned long mask, struct rcu_node *rnp, 149 static void rcu_boost_kthread_setaffinity(struct rcu_node *rnp, int outgoingcpu); 153 static void check_cb_ovld_locked(struct rcu_data *rdp, struct rcu_node *rnp); 207 static unsigned long rcu_rnp_online_cpus(struct rcu_node *rnp) in rcu_rnp_online_cpus() argument 209 return READ_ONCE(rnp->qsmaskinitnext); in rcu_rnp_online_cpus() 1144 struct rcu_node *rnp; in rcu_lockdep_current_cpu_online() local 1151 rnp = rdp->mynode; in rcu_lockdep_current_cpu_online() 1152 if (rdp->grpmask & rcu_rnp_online_cpus(rnp)) in rcu_lockdep_current_cpu_online() 1168 static void rcu_gpnum_ovf(struct rcu_node *rnp, struct rcu_data *rdp) in rcu_gpnum_ovf() argument 1170 raw_lockdep_assert_held_rcu_node(rnp); in rcu_gpnum_ovf() [all …]
|
D | tree_plugin.h | 88 static void rcu_report_exp_rnp(struct rcu_node *rnp, bool wake); 134 static void rcu_preempt_ctxt_queue(struct rcu_node *rnp, struct rcu_data *rdp) in rcu_preempt_ctxt_queue() argument 135 __releases(rnp->lock) /* But leaves rrupts disabled. */ in rcu_preempt_ctxt_queue() 137 int blkd_state = (rnp->gp_tasks ? RCU_GP_TASKS : 0) + in rcu_preempt_ctxt_queue() 138 (rnp->exp_tasks ? RCU_EXP_TASKS : 0) + in rcu_preempt_ctxt_queue() 139 (rnp->qsmask & rdp->grpmask ? RCU_GP_BLKD : 0) + in rcu_preempt_ctxt_queue() 140 (rnp->expmask & rdp->grpmask ? RCU_EXP_BLKD : 0); in rcu_preempt_ctxt_queue() 143 raw_lockdep_assert_held_rcu_node(rnp); in rcu_preempt_ctxt_queue() 144 WARN_ON_ONCE(rdp->mynode != rnp); in rcu_preempt_ctxt_queue() 145 WARN_ON_ONCE(!rcu_is_leaf_node(rnp)); in rcu_preempt_ctxt_queue() [all …]
|
D | tree_stall.h | 182 struct rcu_node *rnp; in rcu_iw_handler() local 185 rnp = rdp->mynode; in rcu_iw_handler() 186 raw_spin_lock_rcu_node(rnp); in rcu_iw_handler() 188 rdp->rcu_iw_gp_seq = rnp->gp_seq; in rcu_iw_handler() 191 raw_spin_unlock_rcu_node(rnp); in rcu_iw_handler() 204 static void rcu_print_detail_task_stall_rnp(struct rcu_node *rnp) in rcu_print_detail_task_stall_rnp() argument 209 raw_spin_lock_irqsave_rcu_node(rnp, flags); in rcu_print_detail_task_stall_rnp() 210 if (!rcu_preempt_blocked_readers_cgp(rnp)) { in rcu_print_detail_task_stall_rnp() 211 raw_spin_unlock_irqrestore_rcu_node(rnp, flags); in rcu_print_detail_task_stall_rnp() 214 t = list_entry(rnp->gp_tasks->prev, in rcu_print_detail_task_stall_rnp() [all …]
|
D | rcu.h | 315 #define rcu_is_leaf_node(rnp) ((rnp)->level == rcu_num_lvls - 1) argument 318 #define rcu_is_last_leaf_node(rnp) ((rnp) == &rcu_state.node[rcu_num_nodes - 1]) argument 325 #define srcu_for_each_node_breadth_first(sp, rnp) \ argument 326 for ((rnp) = &(sp)->node[0]; \ 327 (rnp) < &(sp)->node[rcu_num_nodes]; (rnp)++) 328 #define rcu_for_each_node_breadth_first(rnp) \ argument 329 srcu_for_each_node_breadth_first(&rcu_state, rnp) 337 #define rcu_for_each_leaf_node(rnp) \ argument 338 for ((rnp) = rcu_first_leaf_node(); \ 339 (rnp) < &rcu_state.node[rcu_num_nodes]; (rnp)++) [all …]
|
D | tree.h | 135 #define leaf_node_cpu_bit(rnp, cpu) (BIT((cpu) - (rnp)->grplo)) argument 404 static int rcu_preempt_blocked_readers_cgp(struct rcu_node *rnp); 406 static bool rcu_preempt_has_tasks(struct rcu_node *rnp); 408 static int rcu_print_task_exp_stall(struct rcu_node *rnp); 409 static void rcu_preempt_check_blocked_tasks(struct rcu_node *rnp); 411 static void dump_blkd_tasks(struct rcu_node *rnp, int ncheck); 412 static void rcu_initiate_boost(struct rcu_node *rnp, unsigned long flags); 413 static void rcu_preempt_boost_start_gp(struct rcu_node *rnp); 420 static bool rcu_preempt_has_tasks(struct rcu_node *rnp); 424 static struct swait_queue_head *rcu_nocb_gp_get(struct rcu_node *rnp); [all …]
|
/Linux-v5.10/Documentation/RCU/Design/Memory-Ordering/ |
D | Tree-RCU-Memory-Ordering.rst | 84 5 raw_spin_lock_rcu_node(rnp); 87 8 raw_spin_unlock_rcu_node(rnp); 92 13 raw_spin_lock_rcu_node(rnp); 95 16 raw_spin_unlock_rcu_node(rnp); 178 6 struct rcu_node *rnp; 208 36 rnp = rdp->mynode; 209 37 raw_spin_lock_rcu_node(rnp); 210 38 needwake = rcu_accelerate_cbs(rsp, rnp, rdp); 211 39 raw_spin_unlock_rcu_node(rnp);
|
/Linux-v5.10/Documentation/RCU/Design/Data-Structures/ |
D | Data-Structures.rst | 1106 6 #define rcu_for_each_node_breadth_first(rsp, rnp) \ 1107 7 for ((rnp) = &(rsp)->node[0]; \ 1108 8 (rnp) < &(rsp)->node[NUM_RCU_NODES]; (rnp)++) 1110 10 #define rcu_for_each_leaf_node(rsp, rnp) \ 1111 11 for ((rnp) = (rsp)->level[NUM_RCU_LVLS - 1]; \ 1112 12 (rnp) < &(rsp)->node[NUM_RCU_NODES]; (rnp)++)
|