Home
last modified time | relevance | path

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

/Linux-v4.19/kernel/rcu/
Dtree_exp.h88 struct rcu_node *rnp; in sync_exp_reset_tree_hotplug() local
100 rcu_for_each_leaf_node(rsp, rnp) { in sync_exp_reset_tree_hotplug()
101 raw_spin_lock_irqsave_rcu_node(rnp, flags); in sync_exp_reset_tree_hotplug()
102 if (rnp->expmaskinit == rnp->expmaskinitnext) { in sync_exp_reset_tree_hotplug()
103 raw_spin_unlock_irqrestore_rcu_node(rnp, flags); in sync_exp_reset_tree_hotplug()
108 oldmask = rnp->expmaskinit; in sync_exp_reset_tree_hotplug()
109 rnp->expmaskinit = rnp->expmaskinitnext; in sync_exp_reset_tree_hotplug()
110 raw_spin_unlock_irqrestore_rcu_node(rnp, flags); in sync_exp_reset_tree_hotplug()
117 mask = rnp->grpmask; in sync_exp_reset_tree_hotplug()
118 rnp_up = rnp->parent; in sync_exp_reset_tree_hotplug()
[all …]
Dtree.c163 struct rcu_node *rnp, unsigned long gps, unsigned long flags);
166 static void rcu_boost_kthread_setaffinity(struct rcu_node *rnp, int outgoingcpu);
210 unsigned long rcu_rnp_online_cpus(struct rcu_node *rnp) in rcu_rnp_online_cpus() argument
212 return READ_ONCE(rnp->qsmaskinitnext); in rcu_rnp_online_cpus()
636 struct rcu_node *rnp; in show_rcu_gp_kthreads() local
642 rcu_for_each_node_breadth_first(rsp, rnp) { in show_rcu_gp_kthreads()
643 if (ULONG_CMP_GE(rsp->gp_seq, rnp->gp_seq_needed)) in show_rcu_gp_kthreads()
646 rnp->grplo, rnp->grphi, rnp->gp_seq, in show_rcu_gp_kthreads()
647 rnp->gp_seq_needed); in show_rcu_gp_kthreads()
648 if (!rcu_is_leaf_node(rnp)) in show_rcu_gp_kthreads()
[all …]
Dtree_plugin.h130 static void rcu_report_exp_rnp(struct rcu_state *rsp, struct rcu_node *rnp,
177 static void rcu_preempt_ctxt_queue(struct rcu_node *rnp, struct rcu_data *rdp) in rcu_preempt_ctxt_queue() argument
178 __releases(rnp->lock) /* But leaves rrupts disabled. */ in rcu_preempt_ctxt_queue()
180 int blkd_state = (rnp->gp_tasks ? RCU_GP_TASKS : 0) + in rcu_preempt_ctxt_queue()
181 (rnp->exp_tasks ? RCU_EXP_TASKS : 0) + in rcu_preempt_ctxt_queue()
182 (rnp->qsmask & rdp->grpmask ? RCU_GP_BLKD : 0) + in rcu_preempt_ctxt_queue()
183 (rnp->expmask & rdp->grpmask ? RCU_EXP_BLKD : 0); in rcu_preempt_ctxt_queue()
186 raw_lockdep_assert_held_rcu_node(rnp); in rcu_preempt_ctxt_queue()
187 WARN_ON_ONCE(rdp->mynode != rnp); in rcu_preempt_ctxt_queue()
188 WARN_ON_ONCE(!rcu_is_leaf_node(rnp)); in rcu_preempt_ctxt_queue()
[all …]
Drcu.h335 #define rcu_is_leaf_node(rnp) ((rnp)->level == rcu_num_lvls - 1) argument
338 #define rcu_is_last_leaf_node(rsp, rnp) ((rnp) == &(rsp)->node[rcu_num_nodes - 1]) argument
344 #define rcu_for_each_node_breadth_first(rsp, rnp) \ argument
345 for ((rnp) = &(rsp)->node[0]; \
346 (rnp) < &(rsp)->node[rcu_num_nodes]; (rnp)++)
353 #define rcu_for_each_nonleaf_node_breadth_first(rsp, rnp) \ argument
354 for ((rnp) = &(rsp)->node[0]; !rcu_is_leaf_node(rsp, rnp); (rnp)++)
362 #define rcu_for_each_leaf_node(rsp, rnp) \ argument
363 for ((rnp) = rcu_first_leaf_node(rsp); \
364 (rnp) < &(rsp)->node[rcu_num_nodes]; (rnp)++)
[all …]
Dtree.h173 #define leaf_node_cpu_bit(rnp, cpu) (1UL << ((cpu) - (rnp)->grplo)) argument
436 static int rcu_preempt_blocked_readers_cgp(struct rcu_node *rnp);
438 static bool rcu_preempt_has_tasks(struct rcu_node *rnp);
441 static int rcu_print_task_stall(struct rcu_node *rnp);
442 static int rcu_print_task_exp_stall(struct rcu_node *rnp);
444 struct rcu_node *rnp);
448 static void dump_blkd_tasks(struct rcu_state *rsp, struct rcu_node *rnp,
450 static void rcu_initiate_boost(struct rcu_node *rnp, unsigned long flags);
451 static void rcu_preempt_boost_start_gp(struct rcu_node *rnp);
456 struct rcu_node *rnp);
[all …]