[PATCH net-next 00/12] rxrpc: Fixes and improvements

David Howells dhowells at redhat.com
Fri Nov 24 06:37:39 PST 2017


Hi David,

Is it too late for this to go to Linus in this merge window?

---

Here's a set of patches that fix and improve some stuff in the AF_RXRPC
protocol:

The patches are:

 (1) Unlock mutex returned by rxrpc_accept_call().

 (2) Don't set connection upgrade by default.

 (3) Differentiate the call->user_mutex used by the kernel from that used
     by userspace calling sendmsg() to avoid lockdep warnings.

 (4) Delay terminal ACK transmission to a work queue so that it can be
     replaced by the next call if there is one.

 (5) Split the call parameters from the connection parameters so that more
     call-specific parameters can be passed through.

 (6) Fix the call timeouts to work the same as for other RxRPC/AFS
     implementations.

 (7) Don't transmit DELAY ACKs immediately, but instead delay them slightly
     so that can be discarded or can represent more packets.

 (8) Use RTT to calculate certain protocol timeouts.

 (9) Add a timeout to detect lost ACK/DATA packets.

(10) Add a keepalive function so that we ping the peer if we haven't
     transmitted for a short while, thereby keeping intervening firewall
     routes open.

(11) Make service endpoints expire like they're supposed to so that the UDP
     port can be reused.

(12) Fix connection expiry timers to make cleanup happen in a more timely
     fashion.

The patches can be found here also:

	http://git.kernel.org/cgit/linux/kernel/git/dhowells/linux-fs.git/log/?h=rxrpc-fixes

Tagged thusly:

	git://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-fs.git
	rxrpc-fixes-20171124

David
---
David Howells (12):
      rxrpc: The mutex lock returned by rxrpc_accept_call() needs releasing
      rxrpc: Don't set upgrade by default in sendmsg()
      rxrpc: Provide a different lockdep key for call->user_mutex for kernel calls
      rxrpc: Delay terminal ACK transmission on a client call
      rxrpc: Split the call params from the operation params
      rxrpc: Fix call timeouts
      rxrpc: Don't transmit DELAY ACKs immediately on proposal
      rxrpc: Express protocol timeouts in terms of RTT
      rxrpc: Add a timeout for detecting lost ACKs/lost DATA
      rxrpc: Add keepalive for a call
      rxrpc: Fix service endpoint expiry
      rxrpc: Fix conn expiry timers


 include/trace/events/rxrpc.h |   86 ++++++++++++----
 include/uapi/linux/rxrpc.h   |    1 
 net/rxrpc/af_rxrpc.c         |   23 ++++
 net/rxrpc/ar-internal.h      |  103 ++++++++++++++++---
 net/rxrpc/call_accept.c      |    2 
 net/rxrpc/call_event.c       |  229 ++++++++++++++++++++++++------------------
 net/rxrpc/call_object.c      |   62 +++++++----
 net/rxrpc/conn_client.c      |   54 ++++++++--
 net/rxrpc/conn_event.c       |   74 +++++++++++---
 net/rxrpc/conn_object.c      |   76 +++++++++-----
 net/rxrpc/input.c            |   74 +++++++++++++-
 net/rxrpc/misc.c             |   19 +--
 net/rxrpc/net_ns.c           |   33 +++++-
 net/rxrpc/output.c           |   43 ++++++++
 net/rxrpc/recvmsg.c          |   12 +-
 net/rxrpc/sendmsg.c          |  126 ++++++++++++++---------
 net/rxrpc/sysctl.c           |   60 +++++------
 17 files changed, 752 insertions(+), 325 deletions(-)




More information about the linux-afs mailing list