Lines Matching defs:rcu_tasks
15 struct rcu_tasks;
16 typedef void (*rcu_tasks_gp_func_t)(struct rcu_tasks *rtp);
21 typedef void (*postgp_func_t)(struct rcu_tasks *rtp);
37 * @index: Index of this CPU in rtpcp_array of the rcu_tasks structure.
38 * @rtpp: Pointer to the rcu_tasks structure.
54 struct rcu_tasks *rtpp;
58 * struct rcu_tasks - Definition for a Tasks-RCU-like mechanism.
94 struct rcu_tasks {
138 static struct rcu_tasks rt_name = \
230 static void set_tasks_gp_state(struct rcu_tasks *rtp, int newstate)
238 static const char *tasks_gp_state_getname(struct rcu_tasks *rtp)
251 static void cblist_init_generic(struct rcu_tasks *rtp)
308 static unsigned long rcu_tasks_lazy_time(struct rcu_tasks *rtp)
318 struct rcu_tasks *rtp;
338 struct rcu_tasks *rtp;
347 struct rcu_tasks *rtp)
411 struct rcu_tasks *rtp;
423 static void __maybe_unused rcu_barrier_tasks_generic(struct rcu_tasks *rtp)
459 static int rcu_tasks_need_gpcb(struct rcu_tasks *rtp)
541 static void rcu_tasks_invoke_cbs(struct rcu_tasks *rtp, struct rcu_tasks_percpu *rtpcp)
591 struct rcu_tasks *rtp;
599 static void rcu_tasks_one_gp(struct rcu_tasks *rtp, bool midboot)
636 struct rcu_tasks *rtp = arg;
666 static void synchronize_rcu_tasks_generic(struct rcu_tasks *rtp)
682 static void __init rcu_spawn_tasks_kthread_generic(struct rcu_tasks *rtp)
723 static void show_rcu_tasks_generic_gp_kthread(struct rcu_tasks *rtp, char *s)
757 static void rcu_tasks_torture_stats_print_generic(struct rcu_tasks *rtp, char *tt,
813 static void rcu_tasks_wait_gp(struct rcu_tasks *rtp)
918 // pointers in the rcu_tasks structure. The rcu_spawn_tasks_kthread()
1027 DEFINE_RCU_TASKS(rcu_tasks, rcu_tasks_wait_gp, call_rcu_tasks, "RCU Tasks");
1060 struct rcu_tasks_percpu *rtpcp = per_cpu_ptr(rcu_tasks.rtpcpu, cpu);
1113 pr_err("INFO: rcu_tasks detected stalls on tasks:\n");
1138 static void rcu_tasks_postgp(struct rcu_tasks *rtp)
1169 __func__, rcu_tasks.kname, rcu_tasks.tasks_gp_seq,
1170 tasks_gp_state_getname(&rcu_tasks), jiffies - rcu_tasks.gp_jiffies);
1197 call_rcu_tasks_generic(rhp, func, &rcu_tasks);
1221 synchronize_rcu_tasks_generic(&rcu_tasks);
1233 rcu_barrier_tasks_generic(&rcu_tasks);
1242 rcu_tasks.gp_sleep = HZ / 10;
1243 rcu_tasks.init_fract = HZ / 10;
1245 rcu_tasks.lazy_jiffies = msecs_to_jiffies(rcu_tasks_lazy_ms);
1246 rcu_tasks.pregp_func = rcu_tasks_pregp_step;
1247 rcu_tasks.pertask_func = rcu_tasks_pertask;
1248 rcu_tasks.postscan_func = rcu_tasks_postscan;
1249 rcu_tasks.holdouts_func = check_all_holdout_tasks;
1250 rcu_tasks.postgp_func = rcu_tasks_postgp;
1251 rcu_tasks.wait_state = TASK_IDLE;
1252 rcu_spawn_tasks_kthread_generic(&rcu_tasks);
1259 show_rcu_tasks_generic_gp_kthread(&rcu_tasks, "");
1265 rcu_tasks_torture_stats_print_generic(&rcu_tasks, tt, tf, "");
1272 return rcu_tasks.kthread_ptr;
1279 *gp_seq = rcu_seq_current(&rcu_tasks.tasks_gp_seq);
1301 rtpcp = this_cpu_ptr(rcu_tasks.rtpcpu);
1321 rtpcp = per_cpu_ptr(rcu_tasks.rtpcpu, t->rcu_tasks_exit_cpu);
1355 static void rcu_tasks_rude_wait_gp(struct rcu_tasks *rtp)
1478 // pointers in the rcu_tasks structure. The rcu_spawn_tasks_trace_kthread()
1972 static void rcu_tasks_trace_postgp(struct rcu_tasks *rtp)
2248 cblist_init_generic(&rcu_tasks);