Lines Matching refs:rcu_state

72 	return !time_before(j, READ_ONCE(rcu_state.gp_start) + d);  in rcu_gp_might_be_stalled()
124 WRITE_ONCE(rcu_state.jiffies_stall, jiffies + ULONG_MAX / 2); in rcu_cpu_stall_reset()
137 WRITE_ONCE(rcu_state.gp_start, j); in record_gp_stall_check_time()
140 WRITE_ONCE(rcu_state.jiffies_stall, j + j1); in record_gp_stall_check_time()
141 rcu_state.jiffies_resched = j + j1 / 2; in record_gp_stall_check_time()
142 rcu_state.n_force_qs_gpstart = READ_ONCE(rcu_state.n_force_qs); in record_gp_stall_check_time()
163 j = READ_ONCE(rcu_state.jiffies_kick_kthreads); in rcu_stall_kick_kthreads()
164 if (time_after(jiffies, j) && rcu_state.gp_kthread && in rcu_stall_kick_kthreads()
165 (rcu_gp_in_progress() || READ_ONCE(rcu_state.gp_flags))) { in rcu_stall_kick_kthreads()
167 rcu_state.name); in rcu_stall_kick_kthreads()
169 wake_up_process(rcu_state.gp_kthread); in rcu_stall_kick_kthreads()
170 WRITE_ONCE(rcu_state.jiffies_kick_kthreads, j + HZ); in rcu_stall_kick_kthreads()
382 unsigned long j = jiffies - READ_ONCE(rcu_state.gp_activity); in rcu_is_gp_kthread_starving()
415 ticks_value = rcu_seq_ctr(rcu_state.gp_seq - rdp->gp_seq); in print_cpu_stall_info()
438 data_race(rcu_state.n_force_qs) - rcu_state.n_force_qs_gpstart, in print_cpu_stall_info()
446 struct task_struct *gpk = rcu_state.gp_kthread; in rcu_check_gp_kthread_starvation()
451 rcu_state.name, j, in rcu_check_gp_kthread_starvation()
452 (long)rcu_seq_current(&rcu_state.gp_seq), in rcu_check_gp_kthread_starvation()
453 data_race(rcu_state.gp_flags), in rcu_check_gp_kthread_starvation()
454 gp_state_getname(rcu_state.gp_state), rcu_state.gp_state, in rcu_check_gp_kthread_starvation()
457 …r("\tUnless %s kthread gets sufficient CPU time, OOM is now expected behavior.\n", rcu_state.name); in rcu_check_gp_kthread_starvation()
485 pr_err("INFO: %s detected stalls on CPUs/tasks:\n", rcu_state.name); in print_other_cpu_stall()
502 (long)rcu_seq_current(&rcu_state.gp_seq), totqlen); in print_other_cpu_stall()
510 if (rcu_seq_current(&rcu_state.gp_seq) != gp_seq) { in print_other_cpu_stall()
514 gpa = data_race(rcu_state.gp_activity); in print_other_cpu_stall()
516 rcu_state.name, j - gpa, j, gpa, in print_other_cpu_stall()
522 if (ULONG_CMP_GE(jiffies, READ_ONCE(rcu_state.jiffies_stall))) in print_other_cpu_stall()
523 WRITE_ONCE(rcu_state.jiffies_stall, in print_other_cpu_stall()
551 pr_err("INFO: %s self-detected stall on CPU\n", rcu_state.name); in print_cpu_stall()
559 (long)rcu_seq_current(&rcu_state.gp_seq), totqlen); in print_cpu_stall()
567 if (ULONG_CMP_GE(jiffies, READ_ONCE(rcu_state.jiffies_stall))) in print_cpu_stall()
568 WRITE_ONCE(rcu_state.jiffies_stall, in print_cpu_stall()
619 gs1 = READ_ONCE(rcu_state.gp_seq); in check_cpu_stall()
621 js = READ_ONCE(rcu_state.jiffies_stall); in check_cpu_stall()
623 gps = READ_ONCE(rcu_state.gp_start); in check_cpu_stall()
625 gs2 = READ_ONCE(rcu_state.gp_seq); in check_cpu_stall()
634 cmpxchg(&rcu_state.jiffies_stall, js, jn) == js) { in check_cpu_stall()
643 cmpxchg(&rcu_state.jiffies_stall, js, jn) == js) { in check_cpu_stall()
670 struct task_struct *t = READ_ONCE(rcu_state.gp_kthread); in show_rcu_gp_kthreads()
673 ja = j - data_race(rcu_state.gp_activity); in show_rcu_gp_kthreads()
674 jr = j - data_race(rcu_state.gp_req_activity); in show_rcu_gp_kthreads()
675 jw = j - data_race(rcu_state.gp_wake_time); in show_rcu_gp_kthreads()
677 rcu_state.name, gp_state_getname(rcu_state.gp_state), in show_rcu_gp_kthreads()
678 rcu_state.gp_state, t ? t->state : 0x1ffffL, in show_rcu_gp_kthreads()
679 ja, jr, jw, (long)data_race(rcu_state.gp_wake_seq), in show_rcu_gp_kthreads()
680 (long)data_race(rcu_state.gp_seq), in show_rcu_gp_kthreads()
682 data_race(rcu_state.gp_flags)); in show_rcu_gp_kthreads()
684 if (ULONG_CMP_GE(READ_ONCE(rcu_state.gp_seq), in show_rcu_gp_kthreads()
695 ULONG_CMP_GE(READ_ONCE(rcu_state.gp_seq), in show_rcu_gp_kthreads()
728 !smp_load_acquire(&rcu_state.gp_kthread)) // Get stable kthread. in rcu_check_gp_start_stall()
731 if (time_before(j, READ_ONCE(rcu_state.gp_req_activity) + gpssdelay) || in rcu_check_gp_start_stall()
732 time_before(j, READ_ONCE(rcu_state.gp_activity) + gpssdelay) || in rcu_check_gp_start_stall()
741 time_before(j, READ_ONCE(rcu_state.gp_req_activity) + gpssdelay) || in rcu_check_gp_start_stall()
742 time_before(j, READ_ONCE(rcu_state.gp_activity) + gpssdelay) || in rcu_check_gp_start_stall()
755 time_before(j, READ_ONCE(rcu_state.gp_req_activity) + gpssdelay) || in rcu_check_gp_start_stall()
756 time_before(j, READ_ONCE(rcu_state.gp_activity) + gpssdelay) || in rcu_check_gp_start_stall()
786 __func__, jiffies - rcu_state.gp_start); in rcu_fwd_progress_check()
790 __func__, jiffies - rcu_state.gp_end); in rcu_fwd_progress_check()