Home
last modified time | relevance | path

Searched refs:gp_seq (Results 1 – 17 of 17) sorted by relevance

/linux/include/trace/events/
A Drcu.h77 __field(long, gp_seq)
83 __entry->gp_seq = (long)gp_seq;
117 __field(long, gp_seq)
127 __entry->gp_seq = (long)gp_seq;
156 __field(long, gp_seq)
165 __entry->gp_seq = (long)gp_seq;
326 __entry->gp_seq = (long)gp_seq;
353 __entry->gp_seq = (long)gp_seq;
389 __entry->gp_seq = (long)gp_seq;
426 __entry->gp_seq = (long)gp_seq;
[all …]
/linux/kernel/rcu/
A Dtiny.c35 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()
218 return READ_ONCE(rcu_ctrlblk.gp_seq); in get_state_synchronize_rcu()
228 unsigned long gp_seq = get_state_synchronize_rcu(); in start_poll_synchronize_rcu() local
234 return gp_seq; in start_poll_synchronize_rcu()
245 return oldstate == RCU_GET_STATE_COMPLETED || READ_ONCE(rcu_ctrlblk.gp_seq) != oldstate; in poll_state_synchronize_rcu()
A Dtree.c558 *gp_seq = rcu_seq_current(&rcu_state.gp_seq); in rcutorture_get_gp_data()
944 rsrp->gp_seq = rdp->gp_seq; in rcu_watching_snap_recheck()
1273 if (rdp->gp_seq == rnp->gp_seq) in __note_gp_changes()
1277 if (rcu_seq_completed_gp(rdp->gp_seq, rnp->gp_seq) || in __note_gp_changes()
1291 if (rcu_seq_new_gp(rdp->gp_seq, rnp->gp_seq) || in __note_gp_changes()
1322 if ((rdp->gp_seq == rcu_seq_current(&rnp->gp_seq) && in note_gp_changes()
1926 WRITE_ONCE(rnp->gp_seq, rcu_state.gp_seq); in rcu_gp_init()
4118 rnp->gp_seq_needed = rnp->gp_seq = rcu_state.gp_seq; in synchronize_rcu()
4449 if (rcu_seq_current(&rnp->gp_seq) != rdp->gp_seq || in rcu_pending()
4994 rdp->gp_seq = READ_ONCE(rnp->gp_seq); in rcutree_prepare_cpu()
[all …]
A Dtree_stall.h230 rdp->rcu_iw_gp_seq = rnp->gp_seq; in rcu_iw_handler()
452 if (rsrp->gp_seq != rdp->gp_seq) in print_cpu_stat_info()
499 ticks_value = rcu_seq_ctr(rcu_state.gp_seq - rdp->gp_seq); in print_cpu_stall_info()
647 if (rcu_seq_current(&rcu_state.gp_seq) != gp_seq) { in print_other_cpu_stall()
783 gs1 = READ_ONCE(rcu_state.gp_seq); in check_cpu_stall()
789 gs2 = READ_ONCE(rcu_state.gp_seq); in check_cpu_stall()
917 (long)data_race(READ_ONCE(rcu_state.gp_seq)), in show_rcu_gp_kthreads()
928 (long)data_race(READ_ONCE(rnp->gp_seq)), in show_rcu_gp_kthreads()
972 ULONG_CMP_GE(READ_ONCE(rnp_root->gp_seq), in rcu_check_gp_start_stall()
985 ULONG_CMP_GE(READ_ONCE(rnp_root->gp_seq), in rcu_check_gp_start_stall()
[all …]
A Drcu.h527 void rcu_tasks_get_gp_data(int *flags, unsigned long *gp_seq);
532 void rcu_tasks_rude_get_gp_data(int *flags, unsigned long *gp_seq);
536 void rcu_tasks_trace_get_gp_data(int *flags, unsigned long *gp_seq);
568 void rcutorture_get_gp_data(int *flags, unsigned long *gp_seq);
576 static inline void rcutorture_get_gp_data(int *flags, unsigned long *gp_seq) in rcutorture_get_gp_data() argument
579 *gp_seq = 0; in rcutorture_get_gp_data()
597 unsigned long *gp_seq) in srcutorture_get_gp_data() argument
600 *gp_seq = sp->srcu_idx; in srcutorture_get_gp_data()
606 unsigned long *gp_seq);
A Drcu_segcblist.c241 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()
316 *lp = rsclp->gp_seq[RCU_WAIT_TAIL]; in rcu_segcblist_nextgp()
482 if (ULONG_CMP_LT(seq, rsclp->gp_seq[i])) in rcu_segcblist_advance()
507 rsclp->gp_seq[j] = rsclp->gp_seq[i]; in rcu_segcblist_advance()
544 ULONG_CMP_LT(rsclp->gp_seq[i], seq)) in rcu_segcblist_accelerate()
584 rsclp->gp_seq[i] = seq; in rcu_segcblist_accelerate()
A Dtree_plugin.h256 WARN_ON_ONCE(rnp->completedqs == rnp->gp_seq); in rcu_preempt_ctxt_queue()
302 __this_cpu_read(rcu_data.gp_seq), in rcu_qs()
351 ? rnp->gp_seq in rcu_note_context_switch()
352 : rcu_seq_snap(&rnp->gp_seq)); in rcu_note_context_switch()
533 WARN_ON_ONCE(rnp->completedqs == rnp->gp_seq && in rcu_preempt_deferred_qs_irqrestore()
541 rnp->gp_seq, t->pid); in rcu_preempt_deferred_qs_irqrestore()
562 rnp->gp_seq, in rcu_preempt_deferred_qs_irqrestore()
718 rnp->gp_seq, t->pid); in rcu_preempt_check_blocked_tasks()
800 (long)READ_ONCE(rnp->gp_seq), (long)rnp->completedqs); in dump_blkd_tasks()
865 __this_cpu_read(rcu_data.gp_seq), TPS("cpuqs")); in rcu_qs()
A Dtree.h45 unsigned long gp_seq; /* Track rsp->gp_seq. */ member
167 unsigned long gp_seq; /* Track rdp->gp_seq counter */ member
180 unsigned long gp_seq; /* Track rsp->gp_seq counter. */ member
350 unsigned long gp_seq ____cacheline_internodealigned_in_smp;
A Dtree_nocb.h184 return &rnp->nocb_gp_wq[rcu_seq_ctr(rnp->gp_seq) & 0x1]; in rcu_nocb_gp_get()
469 rcu_seq_done(&rdp->mynode->gp_seq, cur_gp_seq)) { in rcu_nocb_try_bypass()
580 rcu_seq_done(&rdp->mynode->gp_seq, cur_gp_seq)) { in __call_rcu_nocb_wake()
737 rcu_seq_done(&rnp->gp_seq, cur_gp_seq))) { in nocb_gp_wait()
811 rcu_seq_done(&rnp->gp_seq, wait_gp_seq) || in nocb_gp_wait()
917 rcu_seq_done(&rnp->gp_seq, cur_gp_seq) && in nocb_cb_wait()
1564 sprintf(bufw, "%ld", rsclp->gp_seq[RCU_WAIT_TAIL]); in show_rcu_nocb_state()
1565 sprintf(bufr, "%ld", rsclp->gp_seq[RCU_NEXT_READY_TAIL]); in show_rcu_nocb_state()
A Drcutorture.c2289 unsigned long __maybe_unused gp_seq = 0; in rcu_torture_stats_print() local
2292 cur_ops->get_gp_data(&flags, &gp_seq); in rcu_torture_stats_print()
2296 rcu_torture_writer_state, gp_seq, flags, in rcu_torture_stats_print()
3384 unsigned long gp_seq = 0; in rcu_torture_cleanup() local
3437 cur_ops->get_gp_data(&flags, &gp_seq); in rcu_torture_cleanup()
3439 cur_ops->name, (long)gp_seq, flags, in rcu_torture_cleanup()
3440 rcutorture_seq_diff(gp_seq, start_gp_seq)); in rcu_torture_cleanup()
3761 unsigned long gp_seq = 0; in rcu_torture_init() local
3812 cur_ops->get_gp_data(&flags, &gp_seq); in rcu_torture_init()
3813 start_gp_seq = gp_seq; in rcu_torture_init()
[all …]
A Dtasks.h1275 void rcu_tasks_get_gp_data(int *flags, unsigned long *gp_seq) in rcu_tasks_get_gp_data() argument
1278 *gp_seq = rcu_seq_current(&rcu_tasks.tasks_gp_seq); in rcu_tasks_get_gp_data()
1441 void rcu_tasks_rude_get_gp_data(int *flags, unsigned long *gp_seq) in rcu_tasks_rude_get_gp_data() argument
1444 *gp_seq = rcu_seq_current(&rcu_tasks_rude.tasks_gp_seq); in rcu_tasks_rude_get_gp_data()
2124 void rcu_tasks_trace_get_gp_data(int *flags, unsigned long *gp_seq) in rcu_tasks_trace_get_gp_data() argument
2127 *gp_seq = rcu_seq_current(&rcu_tasks_trace.tasks_gp_seq); in rcu_tasks_trace_get_gp_data()
A Dsrcutree.c1838 unsigned long *gp_seq) in srcutorture_get_gp_data() argument
1841 *gp_seq = rcu_seq_current(&ssp->srcu_sup->srcu_gp_seq); in srcutorture_get_gp_data()
/linux/tools/testing/selftests/bpf/progs/
A Drcu_tasks_trace_gp.c13 long gp_seq; variable
32 __sync_add_and_fetch(&gp_seq, 1); in rcu_tasks_trace_postgp()
/linux/tools/testing/selftests/bpf/prog_tests/
A Dmap_kptr.c121 long gp_seq = READ_ONCE(rcu->bss->gp_seq); in kern_sync_rcu_tasks_trace() local
129 while (gp_seq == READ_ONCE(rcu->bss->gp_seq)) in kern_sync_rcu_tasks_trace()
/linux/include/linux/
A Drcu_segcblist.h193 unsigned long gp_seq[RCU_CBLIST_NSEGS]; member
/linux/Documentation/RCU/Design/Data-Structures/
A DData-Structures.rst272 1 unsigned long gp_seq;
274 RCU grace periods are numbered, and the ``->gp_seq`` field contains the
278 ``->gp_seq`` are zero, then RCU is idle. Any other value in the bottom
282 There are ``->gp_seq`` fields in the ``rcu_node`` and ``rcu_data``
383 1 unsigned long gp_seq;
392 The ``>gp_seq`` field of each ``rcu_node`` structure is updated at the
684 10 unsigned long gp_seq[RCU_CBLIST_NSEGS];
695 grace period is current, hence the ``->gp_seq`` field.
742 The ``->gp_seq[]`` array records grace-period numbers corresponding to
829 1 unsigned long gp_seq;
[all …]
/linux/Documentation/RCU/Design/Memory-Ordering/
A DTree-RCU-Memory-Ordering.rst341 advance the ``rcu_state`` structure's ``->gp_seq`` grace-period-number
369 breadth-first, setting each ``rcu_node`` structure's ``->gp_seq`` field
379 ``rcu_state`` structure's ``->gp_seq`` field) before setting each leaf
380 ``rcu_node`` structure's ``->gp_seq`` field, each CPU's observation of
436 | beginning of the grace period (the advancing of ``->gp_seq`` from |
566 advancing all the ``->gp_seq`` fields, then it advances the
567 ``rcu_state`` structure's ``->gp_seq`` field. The ordering effects are
586 | once the ``rcu_state`` structure's ``->gp_seq`` field has been |
595 Once a given CPU's leaf ``rcu_node`` structure's ``->gp_seq`` field has

Completed in 59 milliseconds