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