Searched refs:gp_seq (Results 1 - 14 of 14) sorted by relevance

/linux-master/include/trace/events/
H A Drcu.h71 TP_PROTO(const char *rcuname, unsigned long gp_seq, const char *gpevent),
73 TP_ARGS(rcuname, gp_seq, gpevent),
77 __field(long, gp_seq)
83 __entry->gp_seq = (long)gp_seq;
88 __entry->rcuname, __entry->gp_seq, __entry->gpevent)
109 TP_PROTO(const char *rcuname, unsigned long gp_seq,
113 TP_ARGS(rcuname, gp_seq, gp_seq_req, level, grplo, grphi, gpevent),
117 __field(long, gp_seq)
127 __entry->gp_seq
[all...]
/linux-master/tools/testing/selftests/bpf/progs/
H A Drcu_tasks_trace_gp.c13 long gp_seq; variable
32 __sync_add_and_fetch(&gp_seq, 1);
/linux-master/kernel/rcu/
H A Dtiny.c35 unsigned long gp_seq; /* Grace-period counter. */ member in struct:rcu_ctrlblk
42 .gp_seq = 0 - 300UL,
61 WRITE_ONCE(rcu_ctrlblk.gp_seq, rcu_ctrlblk.gp_seq + 2);
158 WRITE_ONCE(rcu_ctrlblk.gp_seq, rcu_ctrlblk.gp_seq + 2);
218 return READ_ONCE(rcu_ctrlblk.gp_seq);
228 unsigned long gp_seq = get_state_synchronize_rcu(); local
234 return gp_seq;
245 return oldstate == RCU_GET_STATE_COMPLETED || READ_ONCE(rcu_ctrlblk.gp_seq) !
[all...]
H A Dtree.c88 .gp_seq = (0UL - 300UL) << RCU_SEQ_CTR_SHIFT,
227 return rcu_seq_state(rcu_seq_current(&rcu_state.gp_seq));
484 return READ_ONCE(rcu_state.gp_seq);
512 unsigned long *gp_seq)
517 *gp_seq = rcu_seq_current(&rcu_state.gp_seq);
727 * of the rcu_node ->gp_seq counter with respect to the rcu_data counters.
734 if (ULONG_CMP_LT(rcu_seq_current(&rdp->gp_seq) + ULONG_MAX / 4,
735 rnp->gp_seq))
737 if (ULONG_CMP_LT(rdp->rcu_iw_gp_seq + ULONG_MAX / 4, rnp->gp_seq))
511 rcutorture_get_gp_data(enum rcutorture_type test_type, int *flags, unsigned long *gp_seq) argument
3744 unsigned long gp_seq = get_state_synchronize_rcu(); local
[all...]
H A Dtree_stall.h86 * Note that sampling of the .gp_start and .gp_seq fields must be done
97 smp_mb(); // jiffies before .gp_seq to avoid false positives.
102 smp_mb(); // .gp_seq before second .gp_start
178 smp_mb(); // ->gp_start before ->jiffies_stall and caller's ->gp_seq.
228 rdp->rcu_iw_gp_seq = rnp->gp_seq;
448 if (rsrp->gp_seq != rdp->gp_seq)
495 ticks_value = rcu_seq_ctr(rcu_state.gp_seq - rdp->gp_seq);
502 delta = rcu_seq_ctr(rdp->mynode->gp_seq
590 print_other_cpu_stall(unsigned long gp_seq, unsigned long gps) argument
[all...]
H A Drcu.h172 * Has a grace period completed since the time the old gp_seq was collected?
180 * Has a grace period started since the time the old gp_seq was collected?
561 unsigned long *gp_seq);
570 int *flags, unsigned long *gp_seq)
573 *gp_seq = 0;
592 unsigned long *gp_seq)
597 *gp_seq = sp->srcu_idx;
604 unsigned long *gp_seq);
569 rcutorture_get_gp_data(enum rcutorture_type test_type, int *flags, unsigned long *gp_seq) argument
590 srcutorture_get_gp_data(enum rcutorture_type test_type, struct srcu_struct *sp, int *flags, unsigned long *gp_seq) argument
H A Drcu_segcblist.c241 BUILD_BUG_ON(RCU_NEXT_TAIL + 1 != ARRAY_SIZE(rsclp->gp_seq));
242 BUILD_BUG_ON(ARRAY_SIZE(rsclp->tails) != ARRAY_SIZE(rsclp->gp_seq));
327 *lp = rsclp->gp_seq[RCU_WAIT_TAIL];
489 * Find all callbacks whose ->gp_seq numbers indicate that they
493 if (ULONG_CMP_LT(seq, rsclp->gp_seq[i]))
518 rsclp->gp_seq[j] = rsclp->gp_seq[i];
547 * whose ->gp_seq[] completion is at or after that passed in via
551 * as their ->gp_seq[] grace-period completion sequence number.
555 ULONG_CMP_LT(rsclp->gp_seq[
[all...]
H A Dtree.h45 unsigned long gp_seq; /* Track rsp->gp_seq. */ member in struct:rcu_node
162 * The member gp_seq is used to ensure that all members are updated only once
163 * during the sampling period. The snapshot is taken only if this gp_seq is not
164 * equal to rdp->gp_seq.
167 unsigned long gp_seq; /* Track rdp->gp_seq counter */ member in struct:rcu_snap_record
180 unsigned long gp_seq; /* Track rsp->gp_seq counter. */ member in struct:rcu_data
185 bool gpwrap; /* Possible ->gp_seq wra
[all...]
H A Dtree_plugin.h245 WARN_ON_ONCE(rnp->completedqs == rnp->gp_seq);
291 __this_cpu_read(rcu_data.gp_seq),
340 ? rnp->gp_seq
341 : rcu_seq_snap(&rnp->gp_seq));
522 WARN_ON_ONCE(rnp->completedqs == rnp->gp_seq &&
530 rnp->gp_seq, t->pid);
551 rnp->gp_seq,
688 * invoked -before- updating this rnp's ->gp_seq.
707 rnp->gp_seq, t->pid);
787 pr_info("%s: grp: %d-%d level: %d ->gp_seq
[all...]
H A Dtree_nocb.h206 return &rnp->nocb_gp_wq[rcu_seq_ctr(rnp->gp_seq) & 0x1];
499 rcu_seq_done(&rdp->mynode->gp_seq, cur_gp_seq)) {
605 rcu_seq_done(&rdp->mynode->gp_seq, cur_gp_seq)) {
771 rcu_seq_done(&rnp->gp_seq, cur_gp_seq))) {
845 rcu_seq_done(&rnp->gp_seq, wait_gp_seq) ||
968 rcu_seq_done(&rnp->gp_seq, cur_gp_seq) &&
1679 sprintf(bufw, "%ld", rsclp->gp_seq[RCU_WAIT_TAIL]);
1680 sprintf(bufr, "%ld", rsclp->gp_seq[RCU_NEXT_READY_TAIL]);
H A Drcutorture.c2260 unsigned long __maybe_unused gp_seq = 0; local
2263 &flags, &gp_seq);
2265 &flags, &gp_seq);
2269 rcu_torture_writer_state, gp_seq, flags,
3335 unsigned long gp_seq = 0; local
3387 rcutorture_get_gp_data(cur_ops->ttype, &flags, &gp_seq);
3388 srcutorture_get_gp_data(cur_ops->ttype, srcu_ctlp, &flags, &gp_seq);
3390 cur_ops->name, (long)gp_seq, flags,
3391 rcutorture_seq_diff(gp_seq, start_gp_seq));
3709 unsigned long gp_seq local
[all...]
H A Dsrcutree.c1238 * reading the current gp_seq that is used for advancing. This is
1277 * Acceleration can never fail because the base current gp_seq
1278 * used for acceleration is <= the value of gp_seq used for
1831 unsigned long *gp_seq)
1836 *gp_seq = rcu_seq_current(&ssp->srcu_sup->srcu_gp_seq);
1829 srcutorture_get_gp_data(enum rcutorture_type test_type, struct srcu_struct *ssp, int *flags, unsigned long *gp_seq) argument
/linux-master/include/linux/
H A Drcu_segcblist.h53 * The ->gp_seq[] array contains the grace-period number at which the
209 unsigned long gp_seq[RCU_CBLIST_NSEGS]; member in struct:rcu_segcblist
/linux-master/tools/testing/selftests/bpf/prog_tests/
H A Dmap_kptr.c121 long gp_seq = READ_ONCE(rcu->bss->gp_seq); local
129 while (gp_seq == READ_ONCE(rcu->bss->gp_seq))

Completed in 228 milliseconds