Lines Matching defs:rcu_torture_ops

367 struct rcu_torture_ops {  struct
368 int ttype;
369 void (*init)(void);
370 void (*cleanup)(void);
371 int (*readlock)(void);
372 void (*read_delay)(struct torture_random_state *rrsp,
374 void (*readunlock)(int idx);
375 int (*readlock_held)(void); // lockdep.
376 int (*readlock_nesting)(void); // actual nesting, if available, -1 if not.
377 unsigned long (*get_gp_seq)(void);
378 unsigned long (*gp_diff)(unsigned long new, unsigned long old);
379 void (*deferred_free)(struct rcu_torture *p);
380 void (*sync)(void);
381 void (*exp_sync)(void);
382 unsigned long (*get_gp_state_exp)(void);
383 unsigned long (*start_gp_poll_exp)(void);
384 void (*start_gp_poll_exp_full)(struct rcu_gp_oldstate *rgosp);
385 bool (*poll_gp_state_exp)(unsigned long oldstate);
386 void (*cond_sync_exp)(unsigned long oldstate);
387 void (*cond_sync_exp_full)(struct rcu_gp_oldstate *rgosp);
388 unsigned long (*get_comp_state)(void);
389 void (*get_comp_state_full)(struct rcu_gp_oldstate *rgosp);
390 bool (*same_gp_state)(unsigned long oldstate1, unsigned long oldstate2);
391 bool (*same_gp_state_full)(struct rcu_gp_oldstate *rgosp1, struct rcu_gp_oldstate *rgosp2);
392 unsigned long (*get_gp_state)(void);
393 void (*get_gp_state_full)(struct rcu_gp_oldstate *rgosp);
394 unsigned long (*start_gp_poll)(void);
395 void (*start_gp_poll_full)(struct rcu_gp_oldstate *rgosp);
396 bool (*poll_gp_state)(unsigned long oldstate);
397 bool (*poll_gp_state_full)(struct rcu_gp_oldstate *rgosp);
398 bool (*poll_need_2gp)(bool poll, bool poll_full);
399 void (*cond_sync)(unsigned long oldstate);
400 void (*cond_sync_full)(struct rcu_gp_oldstate *rgosp);
401 int poll_active;
402 int poll_active_full;
403 call_rcu_func_t call;
427 static struct rcu_torture_ops *cur_ops; argument