Lines Matching refs:rnp

215 	struct rcu_node *rnp;  in rcu_iw_handler()  local
218 rnp = rdp->mynode; in rcu_iw_handler()
219 raw_spin_lock_rcu_node(rnp); in rcu_iw_handler()
221 rdp->rcu_iw_gp_seq = rnp->gp_seq; in rcu_iw_handler()
224 raw_spin_unlock_rcu_node(rnp); in rcu_iw_handler()
237 static void rcu_print_detail_task_stall_rnp(struct rcu_node *rnp) in rcu_print_detail_task_stall_rnp() argument
242 raw_spin_lock_irqsave_rcu_node(rnp, flags); in rcu_print_detail_task_stall_rnp()
243 if (!rcu_preempt_blocked_readers_cgp(rnp)) { in rcu_print_detail_task_stall_rnp()
244 raw_spin_unlock_irqrestore_rcu_node(rnp, flags); in rcu_print_detail_task_stall_rnp()
247 t = list_entry(rnp->gp_tasks->prev, in rcu_print_detail_task_stall_rnp()
249 list_for_each_entry_continue(t, &rnp->blkd_tasks, rcu_node_entry) { in rcu_print_detail_task_stall_rnp()
257 raw_spin_unlock_irqrestore_rcu_node(rnp, flags); in rcu_print_detail_task_stall_rnp()
287 static int rcu_print_task_stall(struct rcu_node *rnp, unsigned long flags) in rcu_print_task_stall() argument
288 __releases(rnp->lock) in rcu_print_task_stall()
297 if (!rcu_preempt_blocked_readers_cgp(rnp)) { in rcu_print_task_stall()
298 raw_spin_unlock_irqrestore_rcu_node(rnp, flags); in rcu_print_task_stall()
302 rnp->level, rnp->grplo, rnp->grphi); in rcu_print_task_stall()
303 t = list_entry(rnp->gp_tasks->prev, in rcu_print_task_stall()
305 list_for_each_entry_continue(t, &rnp->blkd_tasks, rcu_node_entry) { in rcu_print_task_stall()
311 raw_spin_unlock_irqrestore_rcu_node(rnp, flags); in rcu_print_task_stall()
337 static void rcu_print_detail_task_stall_rnp(struct rcu_node *rnp) in rcu_print_detail_task_stall_rnp() argument
345 static int rcu_print_task_stall(struct rcu_node *rnp, unsigned long flags) in rcu_print_task_stall() argument
346 __releases(rnp->lock) in rcu_print_task_stall()
348 raw_spin_unlock_irqrestore_rcu_node(rnp, flags); in rcu_print_task_stall()
363 struct rcu_node *rnp; in rcu_dump_cpu_stacks() local
365 rcu_for_each_leaf_node(rnp) { in rcu_dump_cpu_stacks()
366 raw_spin_lock_irqsave_rcu_node(rnp, flags); in rcu_dump_cpu_stacks()
367 for_each_leaf_node_possible_cpu(rnp, cpu) in rcu_dump_cpu_stacks()
368 if (rnp->qsmask & leaf_node_cpu_bit(rnp, cpu)) { in rcu_dump_cpu_stacks()
374 raw_spin_unlock_irqrestore_rcu_node(rnp, flags); in rcu_dump_cpu_stacks()
590 struct rcu_node *rnp; in print_other_cpu_stall() local
607 rcu_for_each_leaf_node(rnp) { in print_other_cpu_stall()
608 raw_spin_lock_irqsave_rcu_node(rnp, flags); in print_other_cpu_stall()
609 if (rnp->qsmask != 0) { in print_other_cpu_stall()
610 for_each_leaf_node_possible_cpu(rnp, cpu) in print_other_cpu_stall()
611 if (rnp->qsmask & leaf_node_cpu_bit(rnp, cpu)) { in print_other_cpu_stall()
616 ndetected += rcu_print_task_stall(rnp, flags); // Releases rnp->lock. in print_other_cpu_stall()
629 rcu_for_each_leaf_node(rnp) in print_other_cpu_stall()
630 rcu_print_detail_task_stall_rnp(rnp); in print_other_cpu_stall()
661 struct rcu_node *rnp = rcu_get_root(); in print_cpu_stall() local
692 raw_spin_lock_irqsave_rcu_node(rnp, flags); in print_cpu_stall()
697 raw_spin_unlock_irqrestore_rcu_node(rnp, flags); in print_cpu_stall()
721 struct rcu_node *rnp; in check_cpu_stall() local
759 rnp = rdp->mynode; in check_cpu_stall()
762 (READ_ONCE(rnp->qsmask) & rdp->grpmask) && in check_cpu_stall()
829 struct rcu_node *rnp; in rcu_check_boost_fail() local
831 rcu_for_each_leaf_node(rnp) { in rcu_check_boost_fail()
833 if (data_race(READ_ONCE(rnp->qsmask))) { in rcu_check_boost_fail()
836 if (READ_ONCE(rnp->gp_tasks)) in rcu_check_boost_fail()
842 raw_spin_lock_irqsave_rcu_node(rnp, flags); in rcu_check_boost_fail()
843 if (rnp->gp_tasks) in rcu_check_boost_fail()
845 if (!rnp->qsmask) { in rcu_check_boost_fail()
847 raw_spin_unlock_irqrestore_rcu_node(rnp, flags); in rcu_check_boost_fail()
851 for_each_leaf_node_possible_cpu(rnp, cpu) { in rcu_check_boost_fail()
852 if (rnp->qsmask & (1UL << (cpu - rnp->grplo))) { in rcu_check_boost_fail()
853 raw_spin_unlock_irqrestore_rcu_node(rnp, flags); in rcu_check_boost_fail()
858 raw_spin_unlock_irqrestore_rcu_node(rnp, flags); in rcu_check_boost_fail()
878 struct rcu_node *rnp; in show_rcu_gp_kthreads() local
895 rcu_for_each_node_breadth_first(rnp) { in show_rcu_gp_kthreads()
896 if (ULONG_CMP_GE(READ_ONCE(rcu_state.gp_seq), READ_ONCE(rnp->gp_seq_needed)) && in show_rcu_gp_kthreads()
897 !data_race(READ_ONCE(rnp->qsmask)) && !data_race(READ_ONCE(rnp->boost_tasks)) && in show_rcu_gp_kthreads()
898 !data_race(READ_ONCE(rnp->exp_tasks)) && !data_race(READ_ONCE(rnp->gp_tasks))) in show_rcu_gp_kthreads()
901 rnp->grplo, rnp->grphi, in show_rcu_gp_kthreads()
902 (long)data_race(READ_ONCE(rnp->gp_seq)), in show_rcu_gp_kthreads()
903 (long)data_race(READ_ONCE(rnp->gp_seq_needed)), in show_rcu_gp_kthreads()
904 data_race(READ_ONCE(rnp->qsmask)), in show_rcu_gp_kthreads()
905 ".b"[!!data_race(READ_ONCE(rnp->boost_kthread_task))], in show_rcu_gp_kthreads()
906 ".B"[!!data_race(READ_ONCE(rnp->boost_tasks))], in show_rcu_gp_kthreads()
907 ".E"[!!data_race(READ_ONCE(rnp->exp_tasks))], in show_rcu_gp_kthreads()
908 ".G"[!!data_race(READ_ONCE(rnp->gp_tasks))], in show_rcu_gp_kthreads()
909 data_race(READ_ONCE(rnp->n_boosts))); in show_rcu_gp_kthreads()
910 if (!rcu_is_leaf_node(rnp)) in show_rcu_gp_kthreads()
912 for_each_leaf_node_possible_cpu(rnp, cpu) { in show_rcu_gp_kthreads()
937 static void rcu_check_gp_start_stall(struct rcu_node *rnp, struct rcu_data *rdp, in rcu_check_gp_start_stall() argument
956 raw_spin_lock_irqsave_rcu_node(rnp, flags); in rcu_check_gp_start_stall()
964 raw_spin_unlock_irqrestore_rcu_node(rnp, flags); in rcu_check_gp_start_stall()
969 if (rnp_root != rnp) in rcu_check_gp_start_stall()
978 if (rnp_root != rnp) in rcu_check_gp_start_stall()
981 raw_spin_unlock_irqrestore_rcu_node(rnp, flags); in rcu_check_gp_start_stall()
985 if (rnp_root != rnp) in rcu_check_gp_start_stall()
987 raw_spin_unlock_irqrestore_rcu_node(rnp, flags); in rcu_check_gp_start_stall()