Home
last modified time | relevance | path

Searched refs:rcu_state (Results 1 – 14 of 14) sorted by relevance

/linux/kernel/rcu/
H A Dtree_stall.h134 WRITE_ONCE(rcu_state.nr_fqs_jiffies_stall, 3); in rcu_cpu_stall_reset()
135 WRITE_ONCE(rcu_state.jiffies_stall, ULONG_MAX); in rcu_cpu_stall_reset()
148 WRITE_ONCE(rcu_state.gp_start, j); in record_gp_stall_check_time()
151 WRITE_ONCE(rcu_state.nr_fqs_jiffies_stall, 0); in record_gp_stall_check_time()
152 WRITE_ONCE(rcu_state.jiffies_stall, j + j1); in record_gp_stall_check_time()
153 rcu_state.jiffies_resched = j + j1 / 2; in record_gp_stall_check_time()
154 rcu_state.n_force_qs_gpstart = READ_ONCE(rcu_state.n_force_qs); in record_gp_stall_check_time()
175 j = READ_ONCE(rcu_state.jiffies_kick_kthreads); in rcu_stall_kick_kthreads()
176 if (time_after(jiffies, j) && rcu_state.gp_kthread && in rcu_stall_kick_kthreads()
177 (rcu_gp_in_progress() || READ_ONCE(rcu_state.gp_flags))) { in rcu_stall_kick_kthreads()
[all …]
H A Dtree.c83 static struct rcu_state rcu_state = { variable
84 .level = { &rcu_state.node[0] },
87 .barrier_mutex = __MUTEX_INITIALIZER(rcu_state.barrier_mutex),
88 .barrier_lock = __RAW_SPIN_LOCK_UNLOCKED(rcu_state.barrier_lock),
91 .exp_mutex = __MUTEX_INITIALIZER(rcu_state.exp_mutex),
92 .exp_wake_mutex = __MUTEX_INITIALIZER(rcu_state.exp_wake_mutex),
94 .srs_cleanup_work = __WORK_INITIALIZER(rcu_state.srs_cleanup_work,
98 .nocb_mutex = __MUTEX_INITIALIZER(rcu_state.nocb_mutex),
234 return rcu_seq_state(rcu_seq_current(&rcu_state.gp_seq)); in rcu_gp_in_progress()
528 return READ_ONCE(rcu_state.gp_seq); in rcu_get_gp_seq()
[all …]
H A Dtree_exp.h22 rcu_seq_start(&rcu_state.expedited_sequence); in rcu_exp_gp_seq_start()
23 rcu_poll_gp_seq_start_unlocked(&rcu_state.gp_seq_polled_exp_snap); in rcu_exp_gp_seq_start()
32 return rcu_seq_endval(&rcu_state.expedited_sequence); in rcu_exp_gp_seq_endval()
40 rcu_poll_gp_seq_end_unlocked(&rcu_state.gp_seq_polled_exp_snap); in rcu_exp_gp_seq_end()
41 rcu_seq_end(&rcu_state.expedited_sequence); in rcu_exp_gp_seq_end()
55 s = rcu_seq_snap(&rcu_state.expedited_sequence); in rcu_exp_gp_seq_snap()
56 trace_rcu_exp_grace_period(rcu_state.name, s, TPS("snap")); in rcu_exp_gp_seq_snap()
67 return rcu_seq_done(&rcu_state.expedited_sequence, s); in rcu_exp_gp_seq_done()
83 int ncpus = smp_load_acquire(&rcu_state.ncpus); /* Order vs. locking. */ in sync_exp_reset_tree_hotplug()
88 if (likely(ncpus == rcu_state.ncpus_snap)) in sync_exp_reset_tree_hotplug()
[all …]
H A Dtree_nocb.h68 rcu_state.nocb_is_setup = true; in rcu_nocb_setup()
202 trace_rcu_nocb_wake(rcu_state.name, rdp->cpu, in __wake_nocb_gp()
218 trace_rcu_nocb_wake(rcu_state.name, rdp->cpu, TPS("DoWake")); in __wake_nocb_gp()
294 trace_rcu_nocb_wake(rcu_state.name, rdp->cpu, reason); in wake_nocb_gp_defer()
443 trace_rcu_nocb_wake(rcu_state.name, rdp->cpu, in rcu_nocb_try_bypass()
462 trace_rcu_nocb_wake(rcu_state.name, rdp->cpu, in rcu_nocb_try_bypass()
493 trace_rcu_nocb_wake(rcu_state.name, rdp->cpu, TPS("FirstBQ")); in rcu_nocb_try_bypass()
508 trace_rcu_nocb_wake(rcu_state.name, rdp->cpu, in rcu_nocb_try_bypass()
512 trace_rcu_nocb_wake(rcu_state.name, rdp->cpu, in rcu_nocb_try_bypass()
542 trace_rcu_nocb_wake(rcu_state.name, rdp->cpu, in __call_rcu_nocb_wake()
[all …]
H A Dtree_plugin.h28 !(lockdep_is_held(&rcu_state.barrier_mutex) || in rcu_rdp_is_offloaded()
31 lockdep_is_held(&rcu_state.nocb_mutex) || in rcu_rdp_is_offloaded()
348 trace_rcu_preempt_task(rcu_state.name, in rcu_note_context_switch()
416 if (IS_ENABLED(CONFIG_RCU_STRICT_GRACE_PERIOD) && rcu_state.gp_kthread) in __rcu_read_lock()
755 time_after(jiffies, rcu_state.gp_start + HZ)) in rcu_flavor_sched_clock_irq()
835 if (irqs_disabled() || preempt_count() || !rcu_state.gp_kthread) in rcu_read_unlock_strict()
1176 (!time_after(rnp->boost_time, jiffies) || rcu_state.cbovld || in rcu_initiate_boost()
1266 time_before(jiffies, READ_ONCE(rcu_state.gp_start) + HZ))) in rcu_nohz_full_cpu()
H A Drcu.h379 #define rcu_first_leaf_node() (rcu_state.level[rcu_num_lvls - 1])
385 #define rcu_is_last_leaf_node(rnp) ((rnp) == &rcu_state.node[rcu_num_nodes - 1])
396 _rcu_for_each_node_breadth_first(&rcu_state, rnp)
408 (rnp) < &rcu_state.node[rcu_num_nodes]; (rnp)++)
H A Dtree.h340 struct rcu_state { struct
/linux/Documentation/RCU/Design/Data-Structures/
H A DData-Structures.rst27 This diagram shows an enclosing ``rcu_state`` structure containing a tree
137 #. Each ``rcu_state`` structures has a lock and a mutex, and some fields
154 #. ``rcu_state``: This structure forms the interconnection between the
189 following sections give more details on the ``rcu_state``, ``rcu_node``
192 The ``rcu_state`` Structure
195 The ``rcu_state`` structure is the base structure that represents the
202 A few of the ``rcu_state`` structure's fields are discussed, singly and
209 This portion of the ``rcu_state`` structure is declared as follows:
268 This portion of the ``rcu_state`` structure is declared as follows:
283 structures as well. The fields in the ``rcu_state`` structure represent
[all …]
/linux/include/linux/
H A Dstackdepot.h73 unsigned long rcu_state; /* RCU cookie */ member
/linux/net/sched/
H A Dsch_generic.c1589 cond_synchronize_rcu(miniq->rcu_state); in mini_qdisc_pair_swap()
1590 else if (!poll_state_synchronize_rcu(miniq->rcu_state)) in mini_qdisc_pair_swap()
1602 miniq_old->rcu_state = start_poll_synchronize_rcu(); in mini_qdisc_pair_swap()
1621 miniqp->miniq1.rcu_state = get_state_synchronize_rcu(); in mini_qdisc_pair_init()
1622 miniqp->miniq2.rcu_state = miniqp->miniq1.rcu_state; in mini_qdisc_pair_init()
/linux/lib/
H A Dstackdepot.c360 if (!poll_state_synchronize_rcu(stack->rcu_state)) in depot_pop_free()
494 stack->rcu_state = get_state_synchronize_rcu(); in depot_free_stack()
/linux/Documentation/RCU/Design/Expedited-Grace-Periods/
H A DExpedited-Grace-Periods.rst150 ``rcu_state`` structure's ``->ncpus`` field. The ``rcu_state``
160 ``rcu_state`` structure's ``->ncpus`` and ``->ncpus_snap`` fields are
259 ``->expedited_sequence`` in the ``rcu_state`` structure. This counter
309 respectively. The current value of the ``rcu_state`` structure's
351 Task A now acquires the ``rcu_state`` structure's ``->exp_mutex`` and
/linux/Documentation/RCU/Design/Memory-Ordering/
H A DTree-RCU-Memory-Ordering.rst341 advance the ``rcu_state`` structure's ``->gp_seq`` grace-period-number
370 to the newly advanced value from the ``rcu_state`` structure, as shown
379 ``rcu_state`` structure's ``->gp_seq`` field) before setting each leaf
567 ``rcu_state`` structure's ``->gp_seq`` field. The ordering effects are
586 | once the ``rcu_state`` structure's ``->gp_seq`` field has been |
/linux/include/net/
H A Dsch_generic.h1322 unsigned long rcu_state; member