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()
559 struct rcu_node *rnp; in print_other_cpu_stall() local
576 rcu_for_each_leaf_node(rnp) { in print_other_cpu_stall()
577 raw_spin_lock_irqsave_rcu_node(rnp, flags); in print_other_cpu_stall()
578 if (rnp->qsmask != 0) { in print_other_cpu_stall()
579 for_each_leaf_node_possible_cpu(rnp, cpu) in print_other_cpu_stall()
580 if (rnp->qsmask & leaf_node_cpu_bit(rnp, cpu)) { in print_other_cpu_stall()
585 ndetected += rcu_print_task_stall(rnp, flags); // Releases rnp->lock. in print_other_cpu_stall()
598 rcu_for_each_leaf_node(rnp) in print_other_cpu_stall()
599 rcu_print_detail_task_stall_rnp(rnp); in print_other_cpu_stall()
630 struct rcu_node *rnp = rcu_get_root(); in print_cpu_stall() local
661 raw_spin_lock_irqsave_rcu_node(rnp, flags); in print_cpu_stall()
666 raw_spin_unlock_irqrestore_rcu_node(rnp, flags); in print_cpu_stall()
690 struct rcu_node *rnp; in check_cpu_stall() local
728 rnp = rdp->mynode; in check_cpu_stall()
731 (READ_ONCE(rnp->qsmask) & rdp->grpmask) && in check_cpu_stall()
798 struct rcu_node *rnp; in rcu_check_boost_fail() local
800 rcu_for_each_leaf_node(rnp) { in rcu_check_boost_fail()
802 if (data_race(READ_ONCE(rnp->qsmask))) { in rcu_check_boost_fail()
805 if (READ_ONCE(rnp->gp_tasks)) in rcu_check_boost_fail()
811 raw_spin_lock_irqsave_rcu_node(rnp, flags); in rcu_check_boost_fail()
812 if (rnp->gp_tasks) in rcu_check_boost_fail()
814 if (!rnp->qsmask) { in rcu_check_boost_fail()
816 raw_spin_unlock_irqrestore_rcu_node(rnp, flags); in rcu_check_boost_fail()
820 for_each_leaf_node_possible_cpu(rnp, cpu) { in rcu_check_boost_fail()
821 if (rnp->qsmask & (1UL << (cpu - rnp->grplo))) { in rcu_check_boost_fail()
822 raw_spin_unlock_irqrestore_rcu_node(rnp, flags); in rcu_check_boost_fail()
827 raw_spin_unlock_irqrestore_rcu_node(rnp, flags); in rcu_check_boost_fail()
847 struct rcu_node *rnp; in show_rcu_gp_kthreads() local
864 rcu_for_each_node_breadth_first(rnp) { in show_rcu_gp_kthreads()
865 if (ULONG_CMP_GE(READ_ONCE(rcu_state.gp_seq), READ_ONCE(rnp->gp_seq_needed)) && in show_rcu_gp_kthreads()
866 !data_race(READ_ONCE(rnp->qsmask)) && !data_race(READ_ONCE(rnp->boost_tasks)) && in show_rcu_gp_kthreads()
867 !data_race(READ_ONCE(rnp->exp_tasks)) && !data_race(READ_ONCE(rnp->gp_tasks))) in show_rcu_gp_kthreads()
870 rnp->grplo, rnp->grphi, in show_rcu_gp_kthreads()
871 (long)data_race(READ_ONCE(rnp->gp_seq)), in show_rcu_gp_kthreads()
872 (long)data_race(READ_ONCE(rnp->gp_seq_needed)), in show_rcu_gp_kthreads()
873 data_race(READ_ONCE(rnp->qsmask)), in show_rcu_gp_kthreads()
874 ".b"[!!data_race(READ_ONCE(rnp->boost_kthread_task))], in show_rcu_gp_kthreads()
875 ".B"[!!data_race(READ_ONCE(rnp->boost_tasks))], in show_rcu_gp_kthreads()
876 ".E"[!!data_race(READ_ONCE(rnp->exp_tasks))], in show_rcu_gp_kthreads()
877 ".G"[!!data_race(READ_ONCE(rnp->gp_tasks))], in show_rcu_gp_kthreads()
878 data_race(READ_ONCE(rnp->n_boosts))); in show_rcu_gp_kthreads()
879 if (!rcu_is_leaf_node(rnp)) in show_rcu_gp_kthreads()
881 for_each_leaf_node_possible_cpu(rnp, cpu) { in show_rcu_gp_kthreads()
906 static void rcu_check_gp_start_stall(struct rcu_node *rnp, struct rcu_data *rdp, in rcu_check_gp_start_stall() argument
925 raw_spin_lock_irqsave_rcu_node(rnp, flags); in rcu_check_gp_start_stall()
933 raw_spin_unlock_irqrestore_rcu_node(rnp, flags); in rcu_check_gp_start_stall()
938 if (rnp_root != rnp) in rcu_check_gp_start_stall()
947 if (rnp_root != rnp) in rcu_check_gp_start_stall()
950 raw_spin_unlock_irqrestore_rcu_node(rnp, flags); in rcu_check_gp_start_stall()
954 if (rnp_root != rnp) in rcu_check_gp_start_stall()
956 raw_spin_unlock_irqrestore_rcu_node(rnp, flags); in rcu_check_gp_start_stall()