[PATCH 00/11] SUNRPC server scalability improvements

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

 



Hi Bruce,

When testing knfsd on 10GigE and 40GigE networks, we've been hitting a few
scalability issues that are seriously affecting performance. The main issue
was scalability of the pool->sp_lock, but we also hit a couple of things
like the use of ioctls in the receive fast path, as well as some issues
with heuristic tests being performed twice in the same path.

This is not urgent, and can definitely be delayed until the 3.18 merge
window, however since the performance gains were significant over NFSv3,
I thought I'd share now.

Cheers
  Trond

Trond Myklebust (11):
  SUNRPC: Reduce contention in svc_xprt_enqueue()
  SUNRPC: svc_tcp_write_space: don't clear SOCK_NOSPACE prematurely
  SUNRPC: Allow svc_reserve() to notify TCP socket that space has been
    freed
  SUNRPC: Do not override wspace tests in svc_handle_xprt
  lockd: Ensure that lockd_start_svc sets the server rq_task...
  nfs: Ensure that nfs_callback_start_svc sets the server rq_task...
  SUNRPC: Do not grab pool->sp_lock unnecessarily in svc_get_next_xprt
  SUNRPC: get rid of the request wait queue
  SUNRPC: Fix broken kthread_should_stop test in svc_get_next_xprt
  SUNRPC: More optimisations of svc_xprt_enqueue()
  SUNRPC: Optimise away svc_recv_available

 fs/lockd/svc.c                  |   2 +
 fs/nfs/callback.c               |   1 +
 include/linux/sunrpc/svc.h      |   1 -
 include/linux/sunrpc/svc_xprt.h |   1 +
 net/sunrpc/svc.c                |   2 -
 net/sunrpc/svc_xprt.c           | 112 ++++++++++++++++++++--------------------
 net/sunrpc/svcsock.c            |  71 ++++++++++++-------------
 7 files changed, 96 insertions(+), 94 deletions(-)

-- 
1.9.3

--
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