Lines Matching refs:rcu_data
80 static DEFINE_PER_CPU_SHARED_ALIGNED(struct rcu_data, rcu_data) = {
153 static void rcu_report_exp_rdp(struct rcu_data *rdp);
155 static void check_cb_ovld_locked(struct rcu_data *rdp, struct rcu_node *rnp);
156 static bool rcu_rdp_is_offloaded(struct rcu_data *rdp);
157 static bool rcu_rdp_cpu_online(struct rcu_data *rdp);
222 struct rcu_data *rdp = per_cpu_ptr(&rcu_data, cpu); in rcu_get_n_cbs_cpu()
303 static bool rcu_watching_snap_stopped_since(struct rcu_data *rdp, int snap) in rcu_watching_snap_stopped_since()
353 raw_cpu_write(rcu_data.rcu_need_heavy_qs, false); in rcu_momentary_eqs()
499 static void force_qs_rnp(int (*f)(struct rcu_data *rdp));
585 struct rcu_data *rdp = this_cpu_ptr(&rcu_data); in rcu_irq_work_resched()
648 struct rcu_data *rdp = this_cpu_ptr(&rcu_data); in __rcu_irq_enter_check_tick()
696 return !rcu_segcblist_empty(&this_cpu_ptr(&rcu_data)->cblist) && in rcu_needs_cpu()
697 !rcu_rdp_is_offloaded(this_cpu_ptr(&rcu_data)); in rcu_needs_cpu()
705 static void rcu_disable_urgency_upon_qs(struct rcu_data *rdp) in rcu_disable_urgency_upon_qs()
757 smp_store_release(per_cpu_ptr(&rcu_data.rcu_urgent_qs, cpu), true); in rcu_request_urgent_qs_task()
767 static void rcu_gpnum_ovf(struct rcu_node *rnp, struct rcu_data *rdp) in rcu_gpnum_ovf()
782 static int rcu_watching_snap_save(struct rcu_data *rdp) in rcu_watching_snap_save()
814 static int rcu_watching_snap_recheck(struct rcu_data *rdp) in rcu_watching_snap_recheck()
951 static void trace_rcu_this_gp(struct rcu_node *rnp, struct rcu_data *rdp, in trace_rcu_this_gp()
975 static bool rcu_start_this_gp(struct rcu_node *rnp_start, struct rcu_data *rdp, in rcu_start_this_gp()
1053 struct rcu_data *rdp = this_cpu_ptr(&rcu_data); in rcu_future_gp_cleanup()
1134 static bool rcu_accelerate_cbs(struct rcu_node *rnp, struct rcu_data *rdp) in rcu_accelerate_cbs()
1181 struct rcu_data *rdp) in rcu_accelerate_cbs_unlocked()
1210 static bool rcu_advance_cbs(struct rcu_node *rnp, struct rcu_data *rdp) in rcu_advance_cbs()
1234 struct rcu_data *rdp) in rcu_advance_cbs_nowake()
1264 static bool __note_gp_changes(struct rcu_node *rnp, struct rcu_data *rdp) in __note_gp_changes()
1313 static void note_gp_changes(struct rcu_data *rdp) in note_gp_changes()
1798 struct rcu_data *rdp; in rcu_gp_init()
1924 rdp = this_cpu_ptr(&rcu_data); in rcu_gp_init()
2108 struct rcu_data *rdp; in rcu_gp_cleanup()
2149 rdp = this_cpu_ptr(&rcu_data); in rcu_gp_cleanup()
2157 rdp = per_cpu_ptr(&rcu_data, cpu); in rcu_gp_cleanup()
2176 rdp = this_cpu_ptr(&rcu_data); in rcu_gp_cleanup()
2394 rcu_report_qs_rdp(struct rcu_data *rdp) in rcu_report_qs_rdp()
2449 rcu_check_quiescent_state(struct rcu_data *rdp) in rcu_check_quiescent_state()
2491 static void rcu_do_batch(struct rcu_data *rdp) in rcu_do_batch()
2653 WARN_ON_ONCE(time_before(j, __this_cpu_read(rcu_data.last_sched_clock))); in rcu_sched_clock_irq()
2654 __this_cpu_write(rcu_data.last_sched_clock, j); in rcu_sched_clock_irq()
2658 raw_cpu_inc(rcu_data.ticks_this_gp); in rcu_sched_clock_irq()
2660 if (smp_load_acquire(this_cpu_ptr(&rcu_data.rcu_urgent_qs))) { in rcu_sched_clock_irq()
2666 __this_cpu_write(rcu_data.rcu_urgent_qs, false); in rcu_sched_clock_irq()
2685 static void force_qs_rnp(int (*f)(struct rcu_data *rdp)) in force_qs_rnp()
2715 struct rcu_data *rdp; in force_qs_rnp()
2718 rdp = per_cpu_ptr(&rcu_data, cpu); in force_qs_rnp()
2754 rnp = raw_cpu_read(rcu_data.mynode); in rcu_force_quiescent_state()
2791 struct rcu_data *rdp = raw_cpu_ptr(&rcu_data); in rcu_core()
2860 __this_cpu_write(rcu_data.rcu_cpu_has_work, 1); in invoke_rcu_core_kthread()
2861 t = __this_cpu_read(rcu_data.rcu_cpu_kthread_task); in invoke_rcu_core_kthread()
2863 rcu_wake_cond(t, __this_cpu_read(rcu_data.rcu_cpu_kthread_status)); in invoke_rcu_core_kthread()
2882 per_cpu(rcu_data.rcu_cpu_kthread_status, cpu) = RCU_KTHREAD_OFFCPU; in rcu_cpu_kthread_park()
2887 return __this_cpu_read(rcu_data.rcu_cpu_has_work); in rcu_cpu_kthread_should_run()
2897 unsigned int *statusp = this_cpu_ptr(&rcu_data.rcu_cpu_kthread_status); in rcu_cpu_kthread()
2898 char work, *workp = this_cpu_ptr(&rcu_data.rcu_cpu_has_work); in rcu_cpu_kthread()
2899 unsigned long *j = this_cpu_ptr(&rcu_data.rcuc_activity); in rcu_cpu_kthread()
2929 .store = &rcu_data.rcu_cpu_kthread_task,
2945 per_cpu(rcu_data.rcu_cpu_has_work, cpu) = 0; in rcu_spawn_core_kthreads()
2953 static void rcutree_enqueue(struct rcu_data *rdp, struct rcu_head *head, rcu_callback_t func) in rcutree_enqueue()
2964 static void call_rcu_core(struct rcu_data *rdp, struct rcu_head *head, in call_rcu_core()
3020 static void check_cb_ovld_locked(struct rcu_data *rdp, struct rcu_node *rnp) in check_cb_ovld_locked()
3043 static void check_cb_ovld(struct rcu_data *rdp) in check_cb_ovld()
3062 struct rcu_data *rdp; in __call_rcu_common()
3085 rdp = this_cpu_ptr(&rcu_data); in __call_rcu_common()
3333 for (rnp = this_cpu_ptr(&rcu_data)->mynode; rnp; rnp = rnp->parent) in synchronize_rcu()
3413 struct rcu_data *rdp; in start_poll_synchronize_rcu_common()
3417 rdp = this_cpu_ptr(&rcu_data); in start_poll_synchronize_rcu_common()
3624 struct rcu_data *rdp = this_cpu_ptr(&rcu_data); in rcu_pending()
3705 static void rcu_barrier_entrain(struct rcu_data *rdp) in rcu_barrier_entrain()
3745 struct rcu_data *rdp = per_cpu_ptr(&rcu_data, cpu); in rcu_barrier_handler()
3768 struct rcu_data *rdp; in rcu_barrier()
3807 rdp = per_cpu_ptr(&rcu_data, cpu); in rcu_barrier()
3849 rdp = per_cpu_ptr(&rcu_data, cpu); in rcu_barrier()
3951 static bool rcu_rdp_cpu_online(struct rcu_data *rdp) in rcu_rdp_cpu_online()
3958 struct rcu_data *rdp = per_cpu_ptr(&rcu_data, cpu); in rcu_cpu_online()
3980 struct rcu_data *rdp; in rcu_lockdep_current_cpu_online()
3986 rdp = this_cpu_ptr(&rcu_data); in rcu_lockdep_current_cpu_online()
4090 struct rcu_data *rdp = per_cpu_ptr(&rcu_data, cpu); in rcu_boot_init_percpu_data()
4190 struct rcu_data *rdp = per_cpu_ptr(&rcu_data, cpu); in rcutree_prepare_cpu()
4237 struct rcu_data *rdp = per_cpu_ptr(&rcu_data, cpu); in rcu_cpu_beenfullyonline()
4249 struct rcu_data *rdp; in rcutree_online_cpu()
4252 rdp = per_cpu_ptr(&rcu_data, cpu); in rcutree_online_cpu()
4283 struct rcu_data *rdp; in rcutree_report_cpu_starting()
4288 rdp = per_cpu_ptr(&rcu_data, cpu); in rcutree_report_cpu_starting()
4341 struct rcu_data *rdp = this_cpu_ptr(&rcu_data); in rcutree_report_cpu_dead()
4381 struct rcu_data *my_rdp; in rcutree_migrate_callbacks()
4383 struct rcu_data *rdp = per_cpu_ptr(&rcu_data, cpu); in rcutree_migrate_callbacks()
4397 my_rdp = this_cpu_ptr(&rcu_data); in rcutree_migrate_callbacks()
4451 struct rcu_data *rdp = per_cpu_ptr(&rcu_data, cpu); in rcutree_dying_cpu()
4467 struct rcu_data *rdp; in rcutree_offline_cpu()
4470 rdp = per_cpu_ptr(&rcu_data, cpu); in rcutree_offline_cpu()
4515 struct rcu_data *rdp = this_cpu_ptr(&rcu_data); in rcu_spawn_gp_kthread()
4659 per_cpu_ptr(&rcu_data, i)->mynode = rnp; in rcu_init_one()
4660 per_cpu_ptr(&rcu_data, i)->barrier_head.next = in rcu_init_one()
4661 &per_cpu_ptr(&rcu_data, i)->barrier_head; in rcu_init_one()