All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH net-next 00/13] rxrpc: Increasing SACK size and moving away from softirq, part 2
@ 2022-11-23 10:06 David Howells
  2022-11-23 10:06 ` [PATCH net-next 01/13] rxrpc: Implement an in-kernel rxperf server for testing purposes David Howells
                   ` (14 more replies)
  0 siblings, 15 replies; 20+ messages in thread
From: David Howells @ 2022-11-23 10:06 UTC (permalink / raw)
  To: netdev; +Cc: linux-afs, Marc Dionne, dhowells, linux-afs, linux-kernel


This is the second set of patches in the process of moving rxrpc from doing
a lot of its stuff in softirq context to doing it in an I/O thread in
process context and thereby making it easier to support a larger SACK table
(full description in part 1[1]).

[!] Note that these patches are based on a merge of a fix in net/master
    with net-next/master.  The fix makes a number of conflicting changes,
    so it's better if this set is built on top of it.

This set of patches includes some cleanups, adds some testing and overhauls
some tracing:

 (1) Remove declaration of rxrpc_kernel_call_is_complete() as the
     definition is no longer present.

 (2) Remove the knet() and kproto() macros in favour of using tracepoints.

 (3) Remove handling of duplicate packets from recvmsg.  The input side
     isn't now going to insert overlapping/duplicate packets into the
     recvmsg queue.

 (4) Don't use the rxrpc_conn_parameters struct in the rxrpc_connection or
     rxrpc_bundle structs - rather put the members in directly.

 (5) Extract the abort code from a received abort packet right up front
     rather than doing it in multiple places later.

 (6) Use enums and symbol lists rather than __builtin_return_address() to
     indicate where a tracepoint was triggered for local, peer, conn, call
     and skbuff tracing.

 (7) Add a refcount tracepoint for the rxrpc_bundle struct.

 (8) Implement an in-kernel server for the AFS rxperf testing program to
     talk to (enabled by a Kconfig option).

Link: https://lore.kernel.org/r/166794587113.2389296.16484814996876530222.stgit@warthog.procyon.org.uk/ [1]

---
The patches are tagged here:

	git://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-fs.git tags/rxrpc-next-20221121

And can be found on this branch:

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

David
---
David Howells (13):
      rxrpc: Implement an in-kernel rxperf server for testing purposes
      rxrpc: Remove decl for rxrpc_kernel_call_is_complete()
      rxrpc: Remove handling of duplicate packets in recvmsg_queue
      rxrpc: Remove the [k_]proto() debugging macros
      rxrpc: Remove the [_k]net() debugging macros
      rxrpc: Drop rxrpc_conn_parameters from rxrpc_connection and rxrpc_bundle
      rxrpc: Extract the code from a received ABORT packet much earlier
      rxrpc: trace: Don't use __builtin_return_address for rxrpc_local tracing
      rxrpc: trace: Don't use __builtin_return_address for rxrpc_peer tracing
      rxrpc: trace: Don't use __builtin_return_address for rxrpc_conn tracing
      rxrpc: trace: Don't use __builtin_return_address for rxrpc_call tracing
      rxrpc: Trace rxrpc_bundle refcount
      rxrpc: trace: Don't use __builtin_return_address for sk_buff tracing


 include/net/af_rxrpc.h       |   2 +-
 include/trace/events/rxrpc.h | 385 +++++++++++++++-------
 net/rxrpc/Kconfig            |   7 +
 net/rxrpc/Makefile           |   3 +
 net/rxrpc/af_rxrpc.c         |  10 +-
 net/rxrpc/ar-internal.h      | 121 ++++---
 net/rxrpc/call_accept.c      |  39 +--
 net/rxrpc/call_event.c       |  18 +-
 net/rxrpc/call_object.c      | 120 +++----
 net/rxrpc/conn_client.c      | 112 ++++---
 net/rxrpc/conn_event.c       |  52 ++-
 net/rxrpc/conn_object.c      |  66 ++--
 net/rxrpc/conn_service.c     |  15 +-
 net/rxrpc/input.c            | 103 +++---
 net/rxrpc/key.c              |   2 +-
 net/rxrpc/local_event.c      |   7 +-
 net/rxrpc/local_object.c     |  85 +++--
 net/rxrpc/output.c           |  45 ++-
 net/rxrpc/peer_event.c       |  74 +----
 net/rxrpc/peer_object.c      |  44 ++-
 net/rxrpc/proc.c             |   6 +-
 net/rxrpc/recvmsg.c          |  32 +-
 net/rxrpc/rxkad.c            |  63 ++--
 net/rxrpc/rxperf.c           | 614 +++++++++++++++++++++++++++++++++++
 net/rxrpc/security.c         |   4 +-
 net/rxrpc/sendmsg.c          |   6 +-
 net/rxrpc/server_key.c       |  25 ++
 net/rxrpc/skbuff.c           |  36 +-
 28 files changed, 1403 insertions(+), 693 deletions(-)
 create mode 100644 net/rxrpc/rxperf.c



^ permalink raw reply	[flat|nested] 20+ messages in thread

end of thread, other threads:[~2022-11-28 20:28 UTC | newest]

Thread overview: 20+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-11-23 10:06 [PATCH net-next 00/13] rxrpc: Increasing SACK size and moving away from softirq, part 2 David Howells
2022-11-23 10:06 ` [PATCH net-next 01/13] rxrpc: Implement an in-kernel rxperf server for testing purposes David Howells
2022-11-24 18:38   ` Marc Dionne
2022-11-23 10:06 ` [PATCH net-next 02/13] rxrpc: Remove decl for rxrpc_kernel_call_is_complete() David Howells
2022-11-23 10:06 ` [PATCH net-next 03/13] rxrpc: Remove handling of duplicate packets in recvmsg_queue David Howells
2022-11-23 10:06 ` [PATCH net-next 04/13] rxrpc: Remove the [k_]proto() debugging macros David Howells
2022-11-23 10:07 ` [PATCH net-next 05/13] rxrpc: Remove the [_k]net() " David Howells
2022-11-23 10:07 ` [PATCH net-next 06/13] rxrpc: Drop rxrpc_conn_parameters from rxrpc_connection and rxrpc_bundle David Howells
2022-11-23 10:07 ` [PATCH net-next 07/13] rxrpc: Extract the code from a received ABORT packet much earlier David Howells
2022-11-23 10:07 ` [PATCH net-next 08/13] rxrpc: trace: Don't use __builtin_return_address for rxrpc_local tracing David Howells
2022-11-23 10:07 ` [PATCH net-next 09/13] rxrpc: trace: Don't use __builtin_return_address for rxrpc_peer tracing David Howells
2022-11-23 10:07 ` [PATCH net-next 10/13] rxrpc: trace: Don't use __builtin_return_address for rxrpc_conn tracing David Howells
2022-11-23 10:07 ` [PATCH net-next 11/13] rxrpc: trace: Don't use __builtin_return_address for rxrpc_call tracing David Howells
2022-11-23 10:07 ` [PATCH net-next 12/13] rxrpc: Trace rxrpc_bundle refcount David Howells
2022-11-23 10:08 ` [PATCH net-next 13/13] rxrpc: trace: Don't use __builtin_return_address for sk_buff tracing David Howells
2022-11-24  3:23 ` [PATCH net-next 00/13] rxrpc: Increasing SACK size and moving away from softirq, part 2 Jakub Kicinski
2022-11-24  7:08 ` David Howells
2022-11-28 18:48   ` Jakub Kicinski
2022-11-28 20:16   ` David Howells
2022-11-28 20:28     ` Jakub Kicinski

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.