rcu.h (6bea2cc5a97b7e9677088b1a93e27edb74ae0e55) rcu.h (4babd855fd6137f9792117eb73b096c221a49d3c)
1/*
2 * Read-Copy Update definitions shared among RCU implementations.
3 *
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License as published by
6 * the Free Software Foundation; either version 2 of the License, or
7 * (at your option) any later version.
8 *

--- 488 unchanged lines hidden (view full) ---

497static inline unsigned long rcu_exp_batches_completed(void) { return 0; }
498static inline unsigned long rcu_exp_batches_completed_sched(void) { return 0; }
499static inline unsigned long
500srcu_batches_completed(struct srcu_struct *sp) { return 0; }
501static inline void rcu_force_quiescent_state(void) { }
502static inline void rcu_bh_force_quiescent_state(void) { }
503static inline void rcu_sched_force_quiescent_state(void) { }
504static inline void show_rcu_gp_kthreads(void) { }
1/*
2 * Read-Copy Update definitions shared among RCU implementations.
3 *
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License as published by
6 * the Free Software Foundation; either version 2 of the License, or
7 * (at your option) any later version.
8 *

--- 488 unchanged lines hidden (view full) ---

497static inline unsigned long rcu_exp_batches_completed(void) { return 0; }
498static inline unsigned long rcu_exp_batches_completed_sched(void) { return 0; }
499static inline unsigned long
500srcu_batches_completed(struct srcu_struct *sp) { return 0; }
501static inline void rcu_force_quiescent_state(void) { }
502static inline void rcu_bh_force_quiescent_state(void) { }
503static inline void rcu_sched_force_quiescent_state(void) { }
504static inline void show_rcu_gp_kthreads(void) { }
505static inline int rcu_get_gp_kthreads_prio(void) { return 0; }
505#else /* #ifdef CONFIG_TINY_RCU */
506unsigned long rcu_get_gp_seq(void);
507unsigned long rcu_bh_get_gp_seq(void);
508unsigned long rcu_sched_get_gp_seq(void);
509unsigned long rcu_exp_batches_completed(void);
510unsigned long rcu_exp_batches_completed_sched(void);
511unsigned long srcu_batches_completed(struct srcu_struct *sp);
512void show_rcu_gp_kthreads(void);
506#else /* #ifdef CONFIG_TINY_RCU */
507unsigned long rcu_get_gp_seq(void);
508unsigned long rcu_bh_get_gp_seq(void);
509unsigned long rcu_sched_get_gp_seq(void);
510unsigned long rcu_exp_batches_completed(void);
511unsigned long rcu_exp_batches_completed_sched(void);
512unsigned long srcu_batches_completed(struct srcu_struct *sp);
513void show_rcu_gp_kthreads(void);
514int rcu_get_gp_kthreads_prio(void);
513void rcu_force_quiescent_state(void);
514void rcu_bh_force_quiescent_state(void);
515void rcu_sched_force_quiescent_state(void);
516extern struct workqueue_struct *rcu_gp_wq;
517extern struct workqueue_struct *rcu_par_gp_wq;
518#endif /* #else #ifdef CONFIG_TINY_RCU */
519
520#ifdef CONFIG_RCU_NOCB_CPU
521bool rcu_is_nocb_cpu(int cpu);
522#else
523static inline bool rcu_is_nocb_cpu(int cpu) { return false; }
524#endif
525
526#endif /* __LINUX_RCU_H */
515void rcu_force_quiescent_state(void);
516void rcu_bh_force_quiescent_state(void);
517void rcu_sched_force_quiescent_state(void);
518extern struct workqueue_struct *rcu_gp_wq;
519extern struct workqueue_struct *rcu_par_gp_wq;
520#endif /* #else #ifdef CONFIG_TINY_RCU */
521
522#ifdef CONFIG_RCU_NOCB_CPU
523bool rcu_is_nocb_cpu(int cpu);
524#else
525static inline bool rcu_is_nocb_cpu(int cpu) { return false; }
526#endif
527
528#endif /* __LINUX_RCU_H */