Lines Matching refs:gp_state
62 WARN_ON_ONCE(READ_ONCE(rsp->gp_state) == GP_IDLE); in rcu_sync_func()
63 WARN_ON_ONCE(READ_ONCE(rsp->gp_state) == GP_PASSED); in rcu_sync_func()
70 WRITE_ONCE(rsp->gp_state, GP_PASSED); in rcu_sync_func()
72 } else if (rsp->gp_state == GP_REPLAY) { in rcu_sync_func()
77 WRITE_ONCE(rsp->gp_state, GP_EXIT); in rcu_sync_func()
85 WRITE_ONCE(rsp->gp_state, GP_IDLE); in rcu_sync_func()
107 int gp_state; in rcu_sync_enter() local
110 gp_state = rsp->gp_state; in rcu_sync_enter()
111 if (gp_state == GP_IDLE) { in rcu_sync_enter()
112 WRITE_ONCE(rsp->gp_state, GP_ENTER); in rcu_sync_enter()
128 if (gp_state == GP_IDLE) { in rcu_sync_enter()
139 wait_event(rsp->gp_wait, READ_ONCE(rsp->gp_state) >= GP_PASSED); in rcu_sync_enter()
154 WARN_ON_ONCE(READ_ONCE(rsp->gp_state) == GP_IDLE); in rcu_sync_exit()
159 if (rsp->gp_state == GP_PASSED) { in rcu_sync_exit()
160 WRITE_ONCE(rsp->gp_state, GP_EXIT); in rcu_sync_exit()
162 } else if (rsp->gp_state == GP_EXIT) { in rcu_sync_exit()
163 WRITE_ONCE(rsp->gp_state, GP_REPLAY); in rcu_sync_exit()
175 int gp_state; in rcu_sync_dtor() local
177 WARN_ON_ONCE(READ_ONCE(rsp->gp_state) == GP_PASSED); in rcu_sync_dtor()
181 if (rsp->gp_state == GP_REPLAY) in rcu_sync_dtor()
182 WRITE_ONCE(rsp->gp_state, GP_EXIT); in rcu_sync_dtor()
183 gp_state = rsp->gp_state; in rcu_sync_dtor()
186 if (gp_state != GP_IDLE) { in rcu_sync_dtor()
188 WARN_ON_ONCE(rsp->gp_state != GP_IDLE); in rcu_sync_dtor()