Home
last modified time | relevance | path

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

/linux/kernel/rcu/
A Dtree_exp.h94 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 Dtree_plugin.h166 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 Dtree.c1261 __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 Dtree_stall.h187 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 Drcu.h317 #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 Dtree.h137 #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 Dtree_nocb.h203 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 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/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 36 milliseconds