SUNRPC: Remove unnecessary memory barriers
The only check for RPC_TASK_RUNNING is the one in rpc_make_runnable(), which happens under the same spin lock held when we call rpc_clear_running(). Ditto, the last check for RPC_TASK_QUEUED in rpc_execute() is performed under the same lock as the one held when we call rpc_clear_queued(). Signed-off-by: Trond Myklebust <trond.myklebust@hammerspace.com>
This commit is contained in:
parent
6dbcbe3f78
commit
b9f8713f42
@ -150,25 +150,13 @@ struct rpc_task_setup {
|
||||
#define RPC_TASK_MSG_PIN_WAIT 5
|
||||
#define RPC_TASK_SIGNALLED 6
|
||||
|
||||
#define RPC_IS_RUNNING(t) test_bit(RPC_TASK_RUNNING, &(t)->tk_runstate)
|
||||
#define rpc_set_running(t) set_bit(RPC_TASK_RUNNING, &(t)->tk_runstate)
|
||||
#define rpc_test_and_set_running(t) \
|
||||
test_and_set_bit(RPC_TASK_RUNNING, &(t)->tk_runstate)
|
||||
#define rpc_clear_running(t) \
|
||||
do { \
|
||||
smp_mb__before_atomic(); \
|
||||
clear_bit(RPC_TASK_RUNNING, &(t)->tk_runstate); \
|
||||
smp_mb__after_atomic(); \
|
||||
} while (0)
|
||||
#define rpc_clear_running(t) clear_bit(RPC_TASK_RUNNING, &(t)->tk_runstate)
|
||||
|
||||
#define RPC_IS_QUEUED(t) test_bit(RPC_TASK_QUEUED, &(t)->tk_runstate)
|
||||
#define rpc_set_queued(t) set_bit(RPC_TASK_QUEUED, &(t)->tk_runstate)
|
||||
#define rpc_clear_queued(t) \
|
||||
do { \
|
||||
smp_mb__before_atomic(); \
|
||||
clear_bit(RPC_TASK_QUEUED, &(t)->tk_runstate); \
|
||||
smp_mb__after_atomic(); \
|
||||
} while (0)
|
||||
#define rpc_clear_queued(t) clear_bit(RPC_TASK_QUEUED, &(t)->tk_runstate)
|
||||
|
||||
#define RPC_IS_ACTIVATED(t) test_bit(RPC_TASK_ACTIVE, &(t)->tk_runstate)
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user