Searched refs:rnp (Results 1 – 9 of 9) sorted by relevance
| /linux/kernel/rcu/ |
| A D | tree_exp.h | 94 if (rnp->expmaskinit == rnp->expmaskinitnext) { in sync_exp_reset_tree_hotplug() 101 rnp->expmaskinit = rnp->expmaskinitnext; in sync_exp_reset_tree_hotplug() 139 WRITE_ONCE(rnp->expmask, rnp->expmaskinit); in sync_exp_reset_tree() 207 rnp = rnp->parent; in __rcu_report_exp_rnp() 210 WRITE_ONCE(rnp->expmask, rnp->expmask & ~mask); in __rcu_report_exp_rnp() 242 WRITE_ONCE(rnp->expmask, rnp->expmask & ~mask); in rcu_report_exp_cpu_mult() 300 for (; rnp != NULL; rnp = rnp->parent) { in exp_funnel_lock() 311 rnp->grplo, rnp->grphi, in exp_funnel_lock() 320 rnp->grplo, rnp->grphi, TPS("nxtlvl")); in exp_funnel_lock() 447 if (unlikely(cpu > rnp->grphi - rnp->grplo)) in sync_rcu_exp_select_cpus() [all …]
|
| A D | tree_plugin.h | 166 WARN_ON_ONCE(rnp->qsmaskinitnext & ~rnp->qsmaskinit & rnp->qsmask & in rcu_preempt_ctxt_queue() 247 WARN_ON_ONCE(rnp->completedqs == rnp->gp_seq); in rcu_preempt_ctxt_queue() 517 WARN_ON_ONCE(rnp->completedqs == rnp->gp_seq && in rcu_preempt_deferred_qs_irqrestore() 690 (rnp->qsmaskinit || rnp->wait_blkd_tasks)) { in rcu_preempt_check_blocked_tasks() 691 WRITE_ONCE(rnp->gp_tasks, rnp->blkd_tasks.next); in rcu_preempt_check_blocked_tasks() 780 __func__, rnp->grplo, rnp->grphi, rnp->level, in dump_blkd_tasks() 781 (long)READ_ONCE(rnp->gp_seq), (long)rnp->completedqs); in dump_blkd_tasks() 796 for (cpu = rnp->grplo; cpu <= rnp->grphi; cpu++) { in dump_blkd_tasks() 1022 if (rnp->exp_tasks == NULL && rnp->boost_tasks == NULL) { in rcu_boost() 1060 rnp->n_boosts++; in rcu_boost() [all …]
|
| A D | tree.c | 1261 __func__, rnp->grplo, rnp->grphi, rnp->level, in rcu_implicit_dynticks_qs() 1380 for (rnp = rnp_start; 1; rnp = rnp->parent) { in rcu_start_this_gp() 1850 rnp->qsmask = rnp->qsmaskinit; in rcu_gp_init() 1856 rnp->level, rnp->grplo, in rcu_gp_init() 2197 rnp->grplo, rnp->grphi, in rcu_report_qs_rnp() 2215 rnp = rnp->parent; in rcu_report_qs_rnp() 2251 rnp->completedqs = rnp->gp_seq; in rcu_report_unblock_qs_rnp() 2400 rnp = rnp->parent; in rcu_cleanup_dead_rnp() 2670 for (; rnp != NULL; rnp = rnp->parent) { in rcu_force_quiescent_state() 4077 rnp = rnp->parent; in rcu_init_new_rnp() [all …]
|
| A D | tree_stall.h | 187 struct rcu_node *rnp; in rcu_iw_handler() local 190 rnp = rdp->mynode; in rcu_iw_handler() 260 __releases(rnp->lock) in rcu_print_task_stall() 274 rnp->level, rnp->grplo, rnp->grphi); in rcu_print_task_stall() 318 __releases(rnp->lock) in rcu_print_task_stall() 340 if (rnp->qsmask & leaf_node_cpu_bit(rnp, cpu)) { in rcu_dump_cpu_stacks() 548 if (rnp->qsmask & leaf_node_cpu_bit(rnp, cpu)) { in print_other_cpu_stall() 696 rnp = rdp->mynode; in check_cpu_stall() 780 if (rnp->gp_tasks) in rcu_check_boost_fail() 789 if (rnp->qsmask & (1UL << (cpu - rnp->grplo))) { in rcu_check_boost_fail() [all …]
|
| A D | rcu.h | 317 #define rcu_is_leaf_node(rnp) ((rnp)->level == rcu_num_lvls - 1) argument 320 #define rcu_is_last_leaf_node(rnp) ((rnp) == &rcu_state.node[rcu_num_nodes - 1]) argument 328 for ((rnp) = &(sp)->node[0]; \ 329 (rnp) < &(sp)->node[rcu_num_nodes]; (rnp)++) 339 #define rcu_for_each_leaf_node(rnp) \ argument 340 for ((rnp) = rcu_first_leaf_node(); \ 341 (rnp) < &rcu_state.node[rcu_num_nodes]; (rnp)++) 349 (cpu) <= rnp->grphi; \ 355 #define rcu_find_next_bit(rnp, cpu, mask) \ argument 360 (cpu) <= rnp->grphi; \ [all …]
|
| A D | tree.h | 137 #define leaf_node_cpu_bit(rnp, cpu) (BIT((cpu) - (rnp)->grplo)) argument 408 static int rcu_preempt_blocked_readers_cgp(struct rcu_node *rnp); 410 static bool rcu_preempt_has_tasks(struct rcu_node *rnp); 412 static int rcu_print_task_exp_stall(struct rcu_node *rnp); 413 static void rcu_preempt_check_blocked_tasks(struct rcu_node *rnp); 415 static void dump_blkd_tasks(struct rcu_node *rnp, int ncheck); 417 static void rcu_preempt_boost_start_gp(struct rcu_node *rnp); 420 static void rcu_spawn_one_boost_kthread(struct rcu_node *rnp); 424 static bool rcu_preempt_has_tasks(struct rcu_node *rnp); 428 static struct swait_queue_head *rcu_nocb_gp_get(struct rcu_node *rnp); [all …]
|
| A D | tree_nocb.h | 203 return &rnp->nocb_gp_wq[rcu_seq_ctr(rnp->gp_seq) & 0x1]; in rcu_nocb_gp_get() 208 init_swait_queue_head(&rnp->nocb_gp_wq[0]); in rcu_init_one_nocb() 209 init_swait_queue_head(&rnp->nocb_gp_wq[1]); in rcu_init_one_nocb() 618 struct rcu_node *rnp; in nocb_gp_wait() local 659 rnp = rdp->mynode; in nocb_gp_wait() 725 rnp = my_rdp->mynode; in nocb_gp_wait() 790 struct rcu_node *rnp = rdp->mynode; in nocb_cb_wait() local 1329 struct rcu_node *rnp = rdp->mynode; in show_rcu_nocb_gp_state() local 1339 ".W"[swait_active(&rnp->nocb_gp_wq[0])], in show_rcu_nocb_gp_state() 1340 ".W"[swait_active(&rnp->nocb_gp_wq[1])], in show_rcu_nocb_gp_state() [all …]
|
| /linux/Documentation/RCU/Design/Memory-Ordering/ |
| A 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); 206 5 struct rcu_node *rnp; 232 31 rnp = rdp->mynode; 233 32 raw_spin_lock_rcu_node(rnp); /* irqs already disabled. */ 234 33 needwake = rcu_accelerate_cbs(rnp, rdp); 235 34 raw_spin_unlock_rcu_node(rnp); /* irqs remain disabled. */
|
| /linux/Documentation/RCU/Design/Data-Structures/ |
| A 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)++)
|
Completed in 36 milliseconds