projects
/
openwrt
/
staging
/
blogic.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
fa9251a
)
SUNRPC: Micro optimisation for svc_data_ready
author
Trond Myklebust
<trond.myklebust@primarydata.com>
Fri, 24 Jun 2016 14:55:49 +0000
(10:55 -0400)
committer
J. Bruce Fields
<bfields@redhat.com>
Wed, 13 Jul 2016 19:53:46 +0000
(15:53 -0400)
Don't call svc_xprt_enqueue() if the XPT_DATA flag is already set.
Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com>
Signed-off-by: J. Bruce Fields <bfields@redhat.com>
net/sunrpc/svcsock.c
patch
|
blob
|
history
diff --git
a/net/sunrpc/svcsock.c
b/net/sunrpc/svcsock.c
index 03134708deeb581b59217ad8b9e38f70c901ecd5..338d6fe1103d977cbed28f15eeed379f507bfd3c 100644
(file)
--- a/
net/sunrpc/svcsock.c
+++ b/
net/sunrpc/svcsock.c
@@
-409,8
+409,8
@@
static void svc_data_ready(struct sock *sk)
svsk, sk,
test_bit(XPT_BUSY, &svsk->sk_xprt.xpt_flags));
svsk->sk_odata(sk);
- set_bit(XPT_DATA, &svsk->sk_xprt.xpt_flags);
- svc_xprt_enqueue(&svsk->sk_xprt);
+ if (!test_and_set_bit(XPT_DATA, &svsk->sk_xprt.xpt_flags))
+
svc_xprt_enqueue(&svsk->sk_xprt);
}
}