[PATCH v1 0/5] NFSv3 client RDMA multipath enhancements

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

 



Hi,

The purpose of the following changes is to allow specifying multiple
target IP addresses in a single mount. Combining this with nconnect and
servers that support exposing multiple ports, we can achieve load
balancing and much greater throughput, especially on RDMA setups,
even with the older NFSv3 protocol.

The changes allow specifing a new `remoteports=<IP-addresses-ranges>`
mount option providing a group of IP addresses, from which `nconnect` at
sunrpc scope picks target transport address in round-robin. There's also
an accompanying `localports` parameter that allows local address bind so
that the source port is better controlled in a way to ensure that
transports are not hogging a single local interface.

This patchset targets the linux-next tree.

Dan Aloni (5):
  sunrpc: Allow specifying a vector of IP addresses for nconnect
  xprtrdma: Bind to a local address if requested
  nfs: Extend nconnect with remoteports and localports mount params
  sunrpc: Add srcaddr to xprt sysfs debug
  nfs: Increase NFS_MAX_CONNECTIONS

 fs/nfs/client.c                            |  24 +++
 fs/nfs/fs_context.c                        | 173 ++++++++++++++++++++-
 fs/nfs/internal.h                          |   4 +
 include/linux/nfs_fs_sb.h                  |   2 +
 include/linux/sunrpc/clnt.h                |   9 ++
 include/linux/sunrpc/xprt.h                |   1 +
 net/sunrpc/clnt.c                          |  47 ++++++
 net/sunrpc/debugfs.c                       |   8 +-
 net/sunrpc/xprtrdma/svc_rdma_backchannel.c |   2 +-
 net/sunrpc/xprtrdma/transport.c            |  17 +-
 net/sunrpc/xprtrdma/verbs.c                |  15 +-
 net/sunrpc/xprtrdma/xprt_rdma.h            |   5 +-
 net/sunrpc/xprtsock.c                      |  49 +++---
 13 files changed, 329 insertions(+), 27 deletions(-)

-- 
2.26.2




[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