Skip to content

mptcp: just another receive path refactor

Paolo Abeni mptcp 3 versions – In review

Get series with b4
b4 am [email protected]

Versions newest first · linked by author and title

  1. v3 Latest4 patches 4 repliesIn review
  2. v24 patches 7 repliesSuperseded
  3. v14 patches 3 repliesSuperseded

Changes in v3 from the cover letter

- dropped obsoleted comment in patch 2/4
- fixed compile warning in patch 3/4

Patches in v3 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/4mptcp: move RCVPRUNE event laternet/mptcp/protocol.c+5 -140 replies
2/4mptcp: more accurate receive buffer updatesinclude/net/mptcp.h net/ipv4/tcp.c net/mptcp/options.c +2 more+21 -50 replies
3/4mptcp: move msk input path under full msk socket locknet/mptcp/protocol.c net/mptcp/protocol.h+35 -450 replies
4/4mptcp: use common helper for rmem memory accountingnet/mptcp/protocol.c net/mptcp/protocol.h+9 -1071 reply

Reviews trailers per patch

None of the 4 patches has a Reviewed-by or Acked-by of their own; the series has one for all of them.

PatchMat Martineau
SeriesR-b
1/4
2/4
3/4
4/4

Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes.

Read the v3 thread

Cover letter [PATCH v3 mptcp-next 0/4] mptcp: just another receive path refactor

This is a refresh and rebase of an already shared work:

https://lore.kernel.org/mptcp/[email protected]/
[1]

The motiviation for refreshing this is:

https://lore.kernel.org/mptcp/YtVhyGSsv1CWvPz4@xsang-OptiPlex-9020/

specifically it looks like that properly attaching mem_cg to the msk socket would be (much?) easier if the RX path and the fwd memory allocation would be under msk socket lock protection.

The first 2 patches are proably worthy even without the refactor, but specifically the 2nd one is required to get a good mptcp-level acking behavior when we move the rx under the socket lock.

The 3rd patch does the real work, and the 4th is a follow-up cleanup.

Back at [1], I measured relevant performance regressions in some specific cases. I've done the same test here and I now see little to noise changes. I guess that is mostly due to the better acking strategy already introduce with commit 949dfdcf343c ("Merge branch 'mptcp-improve-mptcp-level-window-tracking'") and refined here.

v2 -> v3:
- dropped obsoleted comment in patch 2/4
- fixed compile warning in patch 3/4

v1 -> v2:
- fix build issue in patch 3/4 due to PEBKAC
- added missing commit messages(!!!) in patch 3/4 & 4/4

Paolo Abeni (4):
mptcp: move RCVPRUNE event later
mptcp: more accurate receive buffer updates
mptcp: move msk input path under full msk socket lock
mptcp: use common helper for rmem memory accounting

 include/net/mptcp.h  |   2 +
 net/ipv4/tcp.c       |   3 +
 net/mptcp/options.c  |   1 -
 net/mptcp/protocol.c | 219 +++++++++++--------------------------------
 net/mptcp/protocol.h |  12 ++-
 5 files changed, 68 insertions(+), 169 deletions(-)
Signature · 1 line
2.35.3