Lines Matching refs:gp_state
39 rsp->gp_state = GP_PASSED; in rcu_sync_enter_start()
78 WARN_ON_ONCE(READ_ONCE(rsp->gp_state) == GP_IDLE); in rcu_sync_func()
79 WARN_ON_ONCE(READ_ONCE(rsp->gp_state) == GP_PASSED); in rcu_sync_func()
86 WRITE_ONCE(rsp->gp_state, GP_PASSED); in rcu_sync_func()
88 } else if (rsp->gp_state == GP_REPLAY) { in rcu_sync_func()
93 WRITE_ONCE(rsp->gp_state, GP_EXIT); in rcu_sync_func()
101 WRITE_ONCE(rsp->gp_state, GP_IDLE); in rcu_sync_func()
123 int gp_state; in rcu_sync_enter() local
126 gp_state = rsp->gp_state; in rcu_sync_enter()
127 if (gp_state == GP_IDLE) { in rcu_sync_enter()
128 WRITE_ONCE(rsp->gp_state, GP_ENTER); in rcu_sync_enter()
144 if (gp_state == GP_IDLE) { in rcu_sync_enter()
155 wait_event(rsp->gp_wait, READ_ONCE(rsp->gp_state) >= GP_PASSED); in rcu_sync_enter()
170 WARN_ON_ONCE(READ_ONCE(rsp->gp_state) == GP_IDLE); in rcu_sync_exit()
175 if (rsp->gp_state == GP_PASSED) { in rcu_sync_exit()
176 WRITE_ONCE(rsp->gp_state, GP_EXIT); in rcu_sync_exit()
178 } else if (rsp->gp_state == GP_EXIT) { in rcu_sync_exit()
179 WRITE_ONCE(rsp->gp_state, GP_REPLAY); in rcu_sync_exit()
191 int gp_state; in rcu_sync_dtor() local
194 WARN_ON_ONCE(READ_ONCE(rsp->gp_state) == GP_PASSED); in rcu_sync_dtor()
197 if (rsp->gp_state == GP_REPLAY) in rcu_sync_dtor()
198 WRITE_ONCE(rsp->gp_state, GP_EXIT); in rcu_sync_dtor()
199 gp_state = rsp->gp_state; in rcu_sync_dtor()
202 if (gp_state != GP_IDLE) { in rcu_sync_dtor()
204 WARN_ON_ONCE(rsp->gp_state != GP_IDLE); in rcu_sync_dtor()