All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH mptcp-next-next 0/3] mptcp: rx path refactor
@ 2024-11-29 17:45 Paolo Abeni
  2024-11-29 17:45 ` [PATCH mptcp-next-next 1/3] mptcp: consolidate subflow cleanup Paolo Abeni
                   ` (4 more replies)
  0 siblings, 5 replies; 9+ messages in thread
From: Paolo Abeni @ 2024-11-29 17:45 UTC (permalink / raw)
  To: mptcp

This is a batch of changes I had sitting in my local tree for a while.
Why another refactor you may ask? Two main resons:

- currently the mptcp RX path introduces quite a bit of 'exceptional'
 accounting/locking processing WRT to plain TCP, adding up to the
 implementation complexity in a misurable way
- the performance gap WRT plain TCP for single subflow connections is
 quite measurable.

The present refactor addresses both the above items: most of the
additional complexity is dropped, and single stream performances
increase measurably - from 55Gbps to 71Gbps in my loopback test. As a
reference, plain TCP is around 84Gps on the same host.

The above comes to a price: the patch are invasive, even in subtle ways:
the chance of destabilizing the implementation is real (ence the
additional, intentional '-next' into the subj).

In any case keeping the patch hidden for longer was not going to do any
good, so here we are.

Paolo Abeni (3):
  mptcp: consolidate subflow cleanup
  mptcp: move the whole rx path under msk socket lock protection
  mptcp: cleanup mem accounting.

 net/mptcp/fastopen.c |   4 +-
 net/mptcp/protocol.c | 202 +++++++++----------------------------------
 net/mptcp/protocol.h |   6 +-
 net/mptcp/subflow.c  |  33 +++----
 4 files changed, 66 insertions(+), 179 deletions(-)

-- 
2.45.2


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

end of thread, other threads:[~2024-12-03  7:40 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-11-29 17:45 [PATCH mptcp-next-next 0/3] mptcp: rx path refactor Paolo Abeni
2024-11-29 17:45 ` [PATCH mptcp-next-next 1/3] mptcp: consolidate subflow cleanup Paolo Abeni
2024-11-29 17:45 ` [PATCH mptcp-next-next 2/3] mptcp: move the whole rx path under msk socket lock protection Paolo Abeni
2024-12-02 16:56   ` Matthieu Baerts
2024-12-03  7:40     ` Paolo Abeni
2024-11-29 17:45 ` [PATCH mptcp-next-next 3/3] mptcp: cleanup mem accounting Paolo Abeni
2024-11-29 18:52 ` [PATCH mptcp-next-next 0/3] mptcp: rx path refactor MPTCP CI
2024-12-02  8:19   ` Paolo Abeni
2024-12-02 16:56 ` Matthieu Baerts

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.