Home
last modified time | relevance | path

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

/linux-6.3-rc2/kernel/rcu/
A Dtree_exp.h97 if (rnp->expmaskinit == rnp->expmaskinitnext) { in sync_exp_reset_tree_hotplug()
104 rnp->expmaskinit = rnp->expmaskinitnext; in sync_exp_reset_tree_hotplug()
142 WRITE_ONCE(rnp->expmask, rnp->expmaskinit); in sync_exp_reset_tree()
210 rnp = rnp->parent; in __rcu_report_exp_rnp()
213 WRITE_ONCE(rnp->expmask, rnp->expmask & ~mask); in __rcu_report_exp_rnp()
245 WRITE_ONCE(rnp->expmask, rnp->expmask & ~mask); in rcu_report_exp_cpu_mult()
303 for (; rnp != NULL; rnp = rnp->parent) { in exp_funnel_lock()
314 rnp->grplo, rnp->grphi, in exp_funnel_lock()
323 rnp->grplo, rnp->grphi, TPS("nxtlvl")); in exp_funnel_lock()
493 if (unlikely(cpu > rnp->grphi - rnp->grplo)) in sync_rcu_exp_select_cpus_queue_work()
[all …]
A Dtree_plugin.h164 WARN_ON_ONCE(rnp->qsmaskinitnext & ~rnp->qsmaskinit & rnp->qsmask & in rcu_preempt_ctxt_queue()
245 WARN_ON_ONCE(rnp->completedqs == rnp->gp_seq); in rcu_preempt_ctxt_queue()
520 WARN_ON_ONCE(rnp->completedqs == rnp->gp_seq && in rcu_preempt_deferred_qs_irqrestore()
700 (rnp->qsmaskinit || rnp->wait_blkd_tasks)) { in rcu_preempt_check_blocked_tasks()
701 WRITE_ONCE(rnp->gp_tasks, rnp->blkd_tasks.next); in rcu_preempt_check_blocked_tasks()
786 __func__, rnp->grplo, rnp->grphi, rnp->level, in dump_blkd_tasks()
787 (long)READ_ONCE(rnp->gp_seq), (long)rnp->completedqs); in dump_blkd_tasks()
802 for (cpu = rnp->grplo; cpu <= rnp->grphi; cpu++) { in dump_blkd_tasks()
1061 if (rnp->exp_tasks == NULL && rnp->boost_tasks == NULL) { in rcu_boost()
1099 rnp->n_boosts++; in rcu_boost()
[all …]
A Dtree.c798 __func__, rnp->grplo, rnp->grphi, rnp->level, in rcu_implicit_dynticks_qs()
934 for (rnp = rnp_start; 1; rnp = rnp->parent) { in rcu_start_this_gp()
1499 rnp->qsmask = rnp->qsmaskinit; in rcu_gp_init()
1505 rnp->level, rnp->grplo, in rcu_gp_init()
1876 rnp->grplo, rnp->grphi, in rcu_report_qs_rnp()
1894 rnp = rnp->parent; in rcu_report_qs_rnp()
1930 rnp->completedqs = rnp->gp_seq; in rcu_report_unblock_qs_rnp()
2284 for (; rnp != NULL; rnp = rnp->parent) { in rcu_force_quiescent_state()
3505 for (rnp = this_cpu_ptr(&rcu_data)->mynode; rnp; rnp = rnp->parent) in synchronize_rcu()
4146 rnp = rnp->parent; in rcu_cleanup_dead_rnp()
[all …]
A Dtree_stall.h215 struct rcu_node *rnp; in rcu_iw_handler() local
218 rnp = rdp->mynode; in rcu_iw_handler()
288 __releases(rnp->lock) in rcu_print_task_stall()
302 rnp->level, rnp->grplo, rnp->grphi); in rcu_print_task_stall()
346 __releases(rnp->lock) in rcu_print_task_stall()
368 if (rnp->qsmask & leaf_node_cpu_bit(rnp, cpu)) { in rcu_dump_cpu_stacks()
611 if (rnp->qsmask & leaf_node_cpu_bit(rnp, cpu)) { in print_other_cpu_stall()
759 rnp = rdp->mynode; in check_cpu_stall()
843 if (rnp->gp_tasks) in rcu_check_boost_fail()
852 if (rnp->qsmask & (1UL << (cpu - rnp->grplo))) { in rcu_check_boost_fail()
[all …]
A Drcu.h334 #define rcu_is_leaf_node(rnp) ((rnp)->level == rcu_num_lvls - 1) argument
337 #define rcu_is_last_leaf_node(rnp) ((rnp) == &rcu_state.node[rcu_num_nodes - 1]) argument
345 for ((rnp) = &(sp)->node[0]; \
346 (rnp) < &(sp)->node[rcu_num_nodes]; (rnp)++)
356 #define rcu_for_each_leaf_node(rnp) \ argument
357 for ((rnp) = rcu_first_leaf_node(); \
358 (rnp) < &rcu_state.node[rcu_num_nodes]; (rnp)++)
366 (cpu) <= rnp->grphi; \
372 #define rcu_find_next_bit(rnp, cpu, mask) \ argument
377 (cpu) <= rnp->grphi; \
[all …]
A Dtree.h147 #define leaf_node_cpu_bit(rnp, cpu) (BIT((cpu) - (rnp)->grplo)) argument
444 static int rcu_preempt_blocked_readers_cgp(struct rcu_node *rnp);
446 static bool rcu_preempt_has_tasks(struct rcu_node *rnp);
448 static int rcu_print_task_exp_stall(struct rcu_node *rnp);
449 static void rcu_preempt_check_blocked_tasks(struct rcu_node *rnp);
451 static void dump_blkd_tasks(struct rcu_node *rnp, int ncheck);
453 static void rcu_preempt_boost_start_gp(struct rcu_node *rnp);
456 static void rcu_spawn_one_boost_kthread(struct rcu_node *rnp);
457 static bool rcu_preempt_has_tasks(struct rcu_node *rnp);
460 static struct swait_queue_head *rcu_nocb_gp_get(struct rcu_node *rnp);
[all …]
A Dtree_nocb.h206 return &rnp->nocb_gp_wq[rcu_seq_ctr(rnp->gp_seq) & 0x1]; in rcu_nocb_gp_get()
211 init_swait_queue_head(&rnp->nocb_gp_wq[0]); in rcu_init_one_nocb()
212 init_swait_queue_head(&rnp->nocb_gp_wq[1]); in rcu_init_one_nocb()
690 struct rcu_node *rnp; in nocb_gp_wait() local
753 rnp = rdp->mynode; in nocb_gp_wait()
831 rnp = my_rdp->mynode; in nocb_gp_wait()
930 struct rcu_node *rnp = rdp->mynode; in nocb_cb_wait() local
1584 struct rcu_node *rnp = rdp->mynode; in show_rcu_nocb_gp_state() local
1594 ".W"[swait_active(&rnp->nocb_gp_wq[0])], in show_rcu_nocb_gp_state()
1595 ".W"[swait_active(&rnp->nocb_gp_wq[1])], in show_rcu_nocb_gp_state()
[all …]
/linux-6.3-rc2/Documentation/RCU/Design/Memory-Ordering/
A DTree-RCU-Memory-Ordering.rst84 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-6.3-rc2/Documentation/RCU/Design/Data-Structures/
A DData-Structures.rst1106 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 37 milliseconds