[PATCH v3 0/5] RPC client latency fixes

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



The following patches apply on top of the writeback patches sent last
week. They start the process of reducing contention in the RPC client
receive code due to excessive holding of the transport lock.

The first patch is the most important in that it allows the client to
drop the transport lock while copying data from the socket into the
RPC call's reply buffers.
The second ensures that we don't keep hogging the workqueue worker thread
forever, but that we reschedule the receive job if it keeps looping.
Finally, a small cleanup to avoid having to make a copy of the
struct xdr_skb_reader on the stack.

v2: Reorder patches to add I/O throttling after the core RPC latency
changes
    Fix a crash when receiving backchannel requests.

v3: Another bugfix for backchannel requests.
    Add a separate spinlock to protect the RPC request receive list

Trond Myklebust (5):
  SUNRPC: Don't hold the transport lock across socket copy operations
  SUNRPC: Don't hold the transport lock when receiving backchannel data
  SUNRPC: Don't loop forever in xs_tcp_data_receive()
  SUNRPC: Cleanup xs_tcp_read_common()
  SUNRPC: Add a separate spinlock to protect the RPC request receive
    list

 include/linux/sunrpc/sched.h   |  2 ++
 include/linux/sunrpc/xprt.h    |  3 ++
 net/sunrpc/backchannel_rqst.c  |  4 +--
 net/sunrpc/xprt.c              | 55 +++++++++++++++++++++++++---
 net/sunrpc/xprtrdma/rpc_rdma.c |  8 ++---
 net/sunrpc/xprtsock.c          | 82 ++++++++++++++++++++++--------------------
 6 files changed, 105 insertions(+), 49 deletions(-)

-- 
2.13.5

--
To unsubscribe from this list: send the line "unsubscribe linux-nfs" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux Filesystem Development]     [Linux USB Development]     [Linux Media Development]     [Video for Linux]     [Linux NILFS]     [Linux Audio Users]     [Yosemite Info]     [Linux SCSI]

  Powered by Linux