/linux-master/include/trace/events/ |
H A D | rcu.h | 71 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 D | rcu_tasks_trace_gp.c | 13 long gp_seq; variable 32 __sync_add_and_fetch(&gp_seq, 1);
|
/linux-master/kernel/rcu/ |
H A D | tiny.c | 35 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 D | tree.c | 88 .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 D | tree_stall.h | 86 * 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 D | rcu.h | 172 * 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 D | rcu_segcblist.c | 241 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 D | tree.h | 45 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 D | tree_plugin.h | 245 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 D | tree_nocb.h | 206 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 D | rcutorture.c | 2260 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 D | srcutree.c | 1238 * 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 D | rcu_segcblist.h | 53 * 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 D | map_kptr.c | 121 long gp_seq = READ_ONCE(rcu->bss->gp_seq); local 129 while (gp_seq == READ_ONCE(rcu->bss->gp_seq))
|