rcu.h (5ab7ab8362fa8a4f7995d65ea05edf71530e8004) rcu.h (e0aff97355575ac6a28a48a4217533a3953095c5)
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 *

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

521#ifdef CONFIG_TINY_RCU
522static inline unsigned long rcu_get_gp_seq(void) { return 0; }
523static inline unsigned long rcu_exp_batches_completed(void) { return 0; }
524static inline unsigned long
525srcu_batches_completed(struct srcu_struct *sp) { return 0; }
526static inline void rcu_force_quiescent_state(void) { }
527static inline void show_rcu_gp_kthreads(void) { }
528static inline int rcu_get_gp_kthreads_prio(void) { return 0; }
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 *

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

521#ifdef CONFIG_TINY_RCU
522static inline unsigned long rcu_get_gp_seq(void) { return 0; }
523static inline unsigned long rcu_exp_batches_completed(void) { return 0; }
524static inline unsigned long
525srcu_batches_completed(struct srcu_struct *sp) { return 0; }
526static inline void rcu_force_quiescent_state(void) { }
527static inline void show_rcu_gp_kthreads(void) { }
528static inline int rcu_get_gp_kthreads_prio(void) { return 0; }
529static inline void rcu_fwd_progress_check(unsigned long j) { }
529#else /* #ifdef CONFIG_TINY_RCU */
530unsigned long rcu_get_gp_seq(void);
531unsigned long rcu_exp_batches_completed(void);
532unsigned long srcu_batches_completed(struct srcu_struct *sp);
533void show_rcu_gp_kthreads(void);
534int rcu_get_gp_kthreads_prio(void);
530#else /* #ifdef CONFIG_TINY_RCU */
531unsigned long rcu_get_gp_seq(void);
532unsigned long rcu_exp_batches_completed(void);
533unsigned long srcu_batches_completed(struct srcu_struct *sp);
534void show_rcu_gp_kthreads(void);
535int rcu_get_gp_kthreads_prio(void);
536void rcu_fwd_progress_check(unsigned long j);
535void rcu_force_quiescent_state(void);
536extern struct workqueue_struct *rcu_gp_wq;
537extern struct workqueue_struct *rcu_par_gp_wq;
538#endif /* #else #ifdef CONFIG_TINY_RCU */
539
540#ifdef CONFIG_RCU_NOCB_CPU
541bool rcu_is_nocb_cpu(int cpu);
542void rcu_bind_current_to_nocb(void);
543#else
544static inline bool rcu_is_nocb_cpu(int cpu) { return false; }
545static inline void rcu_bind_current_to_nocb(void) { }
546#endif
547
548#endif /* __LINUX_RCU_H */
537void rcu_force_quiescent_state(void);
538extern struct workqueue_struct *rcu_gp_wq;
539extern struct workqueue_struct *rcu_par_gp_wq;
540#endif /* #else #ifdef CONFIG_TINY_RCU */
541
542#ifdef CONFIG_RCU_NOCB_CPU
543bool rcu_is_nocb_cpu(int cpu);
544void rcu_bind_current_to_nocb(void);
545#else
546static inline bool rcu_is_nocb_cpu(int cpu) { return false; }
547static inline void rcu_bind_current_to_nocb(void) { }
548#endif
549
550#endif /* __LINUX_RCU_H */