Lines Matching full:ssp

55 void synchronize_srcu(struct srcu_struct *ssp);
63 static inline int __srcu_read_lock(struct srcu_struct *ssp) in __srcu_read_lock() argument
68 idx = ((READ_ONCE(ssp->srcu_idx) + 1) & 0x2) >> 1; in __srcu_read_lock()
69 WRITE_ONCE(ssp->srcu_lock_nesting[idx], READ_ONCE(ssp->srcu_lock_nesting[idx]) + 1); in __srcu_read_lock()
76 static inline bool __srcu_ptr_to_ctr(struct srcu_struct *ssp, struct srcu_ctr __percpu *scpp) in __srcu_ptr_to_ctr() argument
81 static inline struct srcu_ctr __percpu *__srcu_ctr_to_ptr(struct srcu_struct *ssp, int idx) in __srcu_ctr_to_ptr() argument
86 static inline struct srcu_ctr __percpu *__srcu_read_lock_fast(struct srcu_struct *ssp) in __srcu_read_lock_fast() argument
88 return __srcu_ctr_to_ptr(ssp, __srcu_read_lock(ssp)); in __srcu_read_lock_fast()
91 static inline void __srcu_read_unlock_fast(struct srcu_struct *ssp, struct srcu_ctr __percpu *scp) in __srcu_read_unlock_fast() argument
93 __srcu_read_unlock(ssp, __srcu_ptr_to_ctr(ssp, scp)); in __srcu_read_unlock_fast()
99 static inline void synchronize_srcu_expedited(struct srcu_struct *ssp) in synchronize_srcu_expedited() argument
101 synchronize_srcu(ssp); in synchronize_srcu_expedited()
104 static inline void srcu_barrier(struct srcu_struct *ssp) in srcu_barrier() argument
106 synchronize_srcu(ssp); in srcu_barrier()
109 #define srcu_check_read_flavor(ssp, read_flavor) do { } while (0) argument
110 #define srcu_check_read_flavor_force(ssp, read_flavor) do { } while (0) argument
113 static inline void srcu_torture_stats_print(struct srcu_struct *ssp, in srcu_torture_stats_print() argument
118 idx = ((data_race(READ_ONCE(ssp->srcu_idx)) + 1) & 0x2) >> 1; in srcu_torture_stats_print()
121 data_race(READ_ONCE(ssp->srcu_lock_nesting[!idx])), in srcu_torture_stats_print()
122 data_race(READ_ONCE(ssp->srcu_lock_nesting[idx])), in srcu_torture_stats_print()
123 data_race(READ_ONCE(ssp->srcu_idx)), in srcu_torture_stats_print()
124 data_race(READ_ONCE(ssp->srcu_idx_max))); in srcu_torture_stats_print()