/kernel/rcu/ |
D | tiny.c | 35 unsigned long gp_seq; /* Grace-period counter. */ member 42 .gp_seq = 0 - 300UL, 61 WRITE_ONCE(rcu_ctrlblk.gp_seq, rcu_ctrlblk.gp_seq + 2); in rcu_qs() 157 WRITE_ONCE(rcu_ctrlblk.gp_seq, rcu_ctrlblk.gp_seq + 2); in synchronize_rcu() 217 return READ_ONCE(rcu_ctrlblk.gp_seq); in get_state_synchronize_rcu() 227 unsigned long gp_seq = get_state_synchronize_rcu(); in start_poll_synchronize_rcu() local 233 return gp_seq; in start_poll_synchronize_rcu() 244 return oldstate == RCU_GET_STATE_COMPLETED || READ_ONCE(rcu_ctrlblk.gp_seq) != oldstate; in poll_state_synchronize_rcu()
|
D | tree.c | 88 .gp_seq = (0UL - 300UL) << RCU_SEQ_CTR_SHIFT, 246 return rcu_seq_state(rcu_seq_current(&rcu_state.gp_seq)); in rcu_gp_in_progress() 509 return READ_ONCE(rcu_state.gp_seq); in rcu_get_gp_seq() 537 unsigned long *gp_seq) in rcutorture_get_gp_data() argument 542 *gp_seq = rcu_seq_current(&rcu_state.gp_seq); in rcutorture_get_gp_data() 795 if (ULONG_CMP_LT(rcu_seq_current(&rdp->gp_seq) + ULONG_MAX / 4, in rcu_gpnum_ovf() 796 rnp->gp_seq)) in rcu_gpnum_ovf() 798 if (ULONG_CMP_LT(rdp->rcu_iw_gp_seq + ULONG_MAX / 4, rnp->gp_seq)) in rcu_gpnum_ovf() 799 rdp->rcu_iw_gp_seq = rnp->gp_seq + ULONG_MAX / 4; in rcu_gpnum_ovf() 811 trace_rcu_fqs(rcu_state.name, rdp->gp_seq, rdp->cpu, TPS("dti")); in dyntick_save_progress_counter() [all …]
|
D | tree_stall.h | 227 rdp->rcu_iw_gp_seq = rnp->gp_seq; in rcu_iw_handler() 465 ticks_value = rcu_seq_ctr(rcu_state.gp_seq - rdp->gp_seq); in print_cpu_stall_info() 472 delta = rcu_seq_ctr(rdp->mynode->gp_seq - rdp->rcu_iw_gp_seq); in print_cpu_stall_info() 506 (long)rcu_seq_current(&rcu_state.gp_seq), in rcu_check_gp_kthread_starvation() 549 (long)rcu_seq_current(&rcu_state.gp_seq), in rcu_check_gp_kthread_expired_fqs_timer() 558 static void print_other_cpu_stall(unsigned long gp_seq, unsigned long gps) in print_other_cpu_stall() argument 599 (long)rcu_seq_current(&rcu_state.gp_seq), totqlen, rcu_state.n_online_cpus); in print_other_cpu_stall() 607 if (rcu_seq_current(&rcu_state.gp_seq) != gp_seq) { in print_other_cpu_stall() 660 (long)rcu_seq_current(&rcu_state.gp_seq), totqlen, rcu_state.n_online_cpus); in print_cpu_stall() 733 gs1 = READ_ONCE(rcu_state.gp_seq); in check_cpu_stall() [all …]
|
D | rcu_segcblist.c | 241 BUILD_BUG_ON(RCU_NEXT_TAIL + 1 != ARRAY_SIZE(rsclp->gp_seq)); in rcu_segcblist_init() 242 BUILD_BUG_ON(ARRAY_SIZE(rsclp->tails) != ARRAY_SIZE(rsclp->gp_seq)); in rcu_segcblist_init() 327 *lp = rsclp->gp_seq[RCU_WAIT_TAIL]; in rcu_segcblist_nextgp() 493 if (ULONG_CMP_LT(seq, rsclp->gp_seq[i])) in rcu_segcblist_advance() 518 rsclp->gp_seq[j] = rsclp->gp_seq[i]; in rcu_segcblist_advance() 555 ULONG_CMP_LT(rsclp->gp_seq[i], seq)) in rcu_segcblist_accelerate() 595 rsclp->gp_seq[i] = seq; in rcu_segcblist_accelerate()
|
D | rcu.h | 493 unsigned long *gp_seq); 502 int *flags, unsigned long *gp_seq) in rcutorture_get_gp_data() argument 505 *gp_seq = 0; in rcutorture_get_gp_data() 528 unsigned long *gp_seq) in srcutorture_get_gp_data() argument 533 *gp_seq = sp->srcu_idx; in srcutorture_get_gp_data() 540 unsigned long *gp_seq);
|
D | tree_plugin.h | 245 WARN_ON_ONCE(rnp->completedqs == rnp->gp_seq); in rcu_preempt_ctxt_queue() 291 __this_cpu_read(rcu_data.gp_seq), in rcu_qs() 340 ? rnp->gp_seq in rcu_note_context_switch() 341 : rcu_seq_snap(&rnp->gp_seq)); in rcu_note_context_switch() 522 WARN_ON_ONCE(rnp->completedqs == rnp->gp_seq && in rcu_preempt_deferred_qs_irqrestore() 530 rnp->gp_seq, t->pid); in rcu_preempt_deferred_qs_irqrestore() 551 rnp->gp_seq, in rcu_preempt_deferred_qs_irqrestore() 707 rnp->gp_seq, t->pid); in rcu_preempt_check_blocked_tasks() 789 (long)READ_ONCE(rnp->gp_seq), (long)rnp->completedqs); in dump_blkd_tasks() 854 __this_cpu_read(rcu_data.gp_seq), TPS("cpuqs")); in rcu_qs()
|
D | tree.h | 49 unsigned long gp_seq; /* Track rsp->gp_seq. */ member 164 unsigned long gp_seq; /* Track rsp->gp_seq counter. */ member 320 unsigned long gp_seq ____cacheline_internodealigned_in_smp;
|
D | tree_nocb.h | 206 return &rnp->nocb_gp_wq[rcu_seq_ctr(rnp->gp_seq) & 0x1]; in rcu_nocb_gp_get() 499 rcu_seq_done(&rdp->mynode->gp_seq, cur_gp_seq)) { in rcu_nocb_try_bypass() 606 rcu_seq_done(&rdp->mynode->gp_seq, cur_gp_seq)) { in __call_rcu_nocb_wake() 760 rcu_seq_done(&rnp->gp_seq, cur_gp_seq))) { in nocb_gp_wait() 835 rcu_seq_done(&rnp->gp_seq, wait_gp_seq) || in nocb_gp_wait() 959 rcu_seq_done(&rnp->gp_seq, cur_gp_seq) && in nocb_cb_wait() 1635 sprintf(bufw, "%ld", rsclp->gp_seq[RCU_WAIT_TAIL]); in show_rcu_nocb_state() 1636 sprintf(bufr, "%ld", rsclp->gp_seq[RCU_NEXT_READY_TAIL]); in show_rcu_nocb_state()
|
D | rcutorture.c | 2212 unsigned long __maybe_unused gp_seq = 0; in rcu_torture_stats_print() local 2215 &flags, &gp_seq); in rcu_torture_stats_print() 2217 &flags, &gp_seq); in rcu_torture_stats_print() 2221 rcu_torture_writer_state, gp_seq, flags, in rcu_torture_stats_print() 3239 unsigned long gp_seq = 0; in rcu_torture_cleanup() local 3289 rcutorture_get_gp_data(cur_ops->ttype, &flags, &gp_seq); in rcu_torture_cleanup() 3290 srcutorture_get_gp_data(cur_ops->ttype, srcu_ctlp, &flags, &gp_seq); in rcu_torture_cleanup() 3292 cur_ops->name, (long)gp_seq, flags, in rcu_torture_cleanup() 3293 rcutorture_seq_diff(gp_seq, start_gp_seq)); in rcu_torture_cleanup() 3429 unsigned long gp_seq = 0; in rcu_torture_init() local [all …]
|
D | srcutree.c | 1670 unsigned long *gp_seq) in srcutorture_get_gp_data() argument 1675 *gp_seq = rcu_seq_current(&ssp->srcu_gp_seq); in srcutorture_get_gp_data()
|