diff options
author | Chuck Lever <chuck.lever@oracle.com> | 2021-01-05 10:15:09 -0500 |
---|---|---|
committer | Chuck Lever <chuck.lever@oracle.com> | 2021-03-22 13:22:13 -0400 |
commit | 82011c80b3ec0e05940a2ee2c76c1df9fd2b1ce8 (patch) | |
tree | 8918ebef358af24940e2b5a292a23046d62c1861 /lib/timerqueue.c | |
parent | 7dcfbd86adc45f6d6b37278efd22530cf80ab474 (diff) | |
download | linux-82011c80b3ec0e05940a2ee2c76c1df9fd2b1ce8.tar.bz2 |
SUNRPC: Move svc_xprt_received() call sites
Currently, XPT_BUSY is not cleared until xpo_recvfrom returns.
That effectively blocks the receipt and handling of the next RPC
message until the current one has been taken off the transport.
This strict ordering is a requirement for socket transports.
For our kernel RPC/RDMA transport implementation, however, dequeuing
an ingress message is nothing more than a list_del(). The transport
can safely be marked un-busy as soon as that is done.
To keep the changes simpler, this patch just moves the
svc_xprt_received() call site from svc_handle_xprt() into the
transports, so that the actual optimization can be done in a
subsequent patch.
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Diffstat (limited to 'lib/timerqueue.c')
0 files changed, 0 insertions, 0 deletions