Home
last modified time | relevance | path

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

/kernel/rcu/
Dtree_exp.h13 static int rcu_print_task_exp_stall(struct rcu_node *rnp);
78 struct rcu_node *rnp; in sync_exp_reset_tree_hotplug() local
90 rcu_for_each_leaf_node(rnp) { in sync_exp_reset_tree_hotplug()
91 raw_spin_lock_irqsave_rcu_node(rnp, flags); in sync_exp_reset_tree_hotplug()
92 if (rnp->expmaskinit == rnp->expmaskinitnext) { in sync_exp_reset_tree_hotplug()
93 raw_spin_unlock_irqrestore_rcu_node(rnp, flags); in sync_exp_reset_tree_hotplug()
98 oldmask = rnp->expmaskinit; in sync_exp_reset_tree_hotplug()
99 rnp->expmaskinit = rnp->expmaskinitnext; in sync_exp_reset_tree_hotplug()
100 raw_spin_unlock_irqrestore_rcu_node(rnp, flags); in sync_exp_reset_tree_hotplug()
107 mask = rnp->grpmask; in sync_exp_reset_tree_hotplug()
[all …]
Dtree.c145 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);
191 unsigned long rcu_rnp_online_cpus(struct rcu_node *rnp) in rcu_rnp_online_cpus() argument
193 return READ_ONCE(rnp->qsmaskinitnext); in rcu_rnp_online_cpus()
952 struct rcu_node *rnp; in rcu_lockdep_current_cpu_online() local
959 rnp = rdp->mynode; in rcu_lockdep_current_cpu_online()
960 if (rdp->grpmask & rcu_rnp_online_cpus(rnp)) in rcu_lockdep_current_cpu_online()
976 static void rcu_gpnum_ovf(struct rcu_node *rnp, struct rcu_data *rdp) in rcu_gpnum_ovf() argument
978 raw_lockdep_assert_held_rcu_node(rnp); in rcu_gpnum_ovf()
980 rnp->gp_seq)) in rcu_gpnum_ovf()
[all …]
Dtree_plugin.h84 static void rcu_report_exp_rnp(struct rcu_node *rnp, bool wake);
130 static void rcu_preempt_ctxt_queue(struct rcu_node *rnp, struct rcu_data *rdp) in rcu_preempt_ctxt_queue() argument
131 __releases(rnp->lock) /* But leaves rrupts disabled. */ in rcu_preempt_ctxt_queue()
133 int blkd_state = (rnp->gp_tasks ? RCU_GP_TASKS : 0) + in rcu_preempt_ctxt_queue()
134 (rnp->exp_tasks ? RCU_EXP_TASKS : 0) + in rcu_preempt_ctxt_queue()
135 (rnp->qsmask & rdp->grpmask ? RCU_GP_BLKD : 0) + in rcu_preempt_ctxt_queue()
136 (rnp->expmask & rdp->grpmask ? RCU_EXP_BLKD : 0); in rcu_preempt_ctxt_queue()
139 raw_lockdep_assert_held_rcu_node(rnp); in rcu_preempt_ctxt_queue()
140 WARN_ON_ONCE(rdp->mynode != rnp); in rcu_preempt_ctxt_queue()
141 WARN_ON_ONCE(!rcu_is_leaf_node(rnp)); in rcu_preempt_ctxt_queue()
[all …]
Dtree_stall.h152 struct rcu_node *rnp; in rcu_iw_handler() local
155 rnp = rdp->mynode; in rcu_iw_handler()
156 raw_spin_lock_rcu_node(rnp); in rcu_iw_handler()
158 rdp->rcu_iw_gp_seq = rnp->gp_seq; in rcu_iw_handler()
161 raw_spin_unlock_rcu_node(rnp); in rcu_iw_handler()
174 static void rcu_print_detail_task_stall_rnp(struct rcu_node *rnp) in rcu_print_detail_task_stall_rnp() argument
179 raw_spin_lock_irqsave_rcu_node(rnp, flags); in rcu_print_detail_task_stall_rnp()
180 if (!rcu_preempt_blocked_readers_cgp(rnp)) { in rcu_print_detail_task_stall_rnp()
181 raw_spin_unlock_irqrestore_rcu_node(rnp, flags); in rcu_print_detail_task_stall_rnp()
184 t = list_entry(rnp->gp_tasks->prev, in rcu_print_detail_task_stall_rnp()
[all …]
Drcu.h325 #define rcu_is_leaf_node(rnp) ((rnp)->level == rcu_num_lvls - 1) argument
328 #define rcu_is_last_leaf_node(rnp) ((rnp) == &rcu_state.node[rcu_num_nodes - 1]) argument
335 #define srcu_for_each_node_breadth_first(sp, rnp) \ argument
336 for ((rnp) = &(sp)->node[0]; \
337 (rnp) < &(sp)->node[rcu_num_nodes]; (rnp)++)
338 #define rcu_for_each_node_breadth_first(rnp) \ argument
339 srcu_for_each_node_breadth_first(&rcu_state, rnp)
347 #define rcu_for_each_leaf_node(rnp) \ argument
348 for ((rnp) = rcu_first_leaf_node(); \
349 (rnp) < &rcu_state.node[rcu_num_nodes]; (rnp)++)
[all …]
Dtree.h134 #define leaf_node_cpu_bit(rnp, cpu) (BIT((cpu) - (rnp)->grplo)) argument
410 static int rcu_preempt_blocked_readers_cgp(struct rcu_node *rnp);
412 static bool rcu_preempt_has_tasks(struct rcu_node *rnp);
414 static int rcu_print_task_exp_stall(struct rcu_node *rnp);
415 static void rcu_preempt_check_blocked_tasks(struct rcu_node *rnp);
418 static void dump_blkd_tasks(struct rcu_node *rnp, int ncheck);
419 static void rcu_initiate_boost(struct rcu_node *rnp, unsigned long flags);
420 static void rcu_preempt_boost_start_gp(struct rcu_node *rnp);
427 static bool rcu_preempt_has_tasks(struct rcu_node *rnp);
431 static struct swait_queue_head *rcu_nocb_gp_get(struct rcu_node *rnp);
[all …]