[PATCH net-next 0/8] mptcp: receive path improvement

Matthieu Baerts (NGI0) posted 8 patches 4 days, 10 hours ago
There is a newer version of this series
include/net/tcp.h                               |   1 +
net/ipv4/tcp_input.c                            |   2 +-
net/mptcp/protocol.c                            | 187 ++++++++++++------------
net/mptcp/protocol.h                            |   4 +-
tools/testing/selftests/net/mptcp/mptcp_join.sh |  69 +++++++++
tools/testing/selftests/net/mptcp/pm_nl_ctl.c   |   9 ++
6 files changed, 177 insertions(+), 95 deletions(-)
[PATCH net-next 0/8] mptcp: receive path improvement
Posted by Matthieu Baerts (NGI0) 4 days, 10 hours ago
This series includes several changes to the MPTCP RX path. The main
goals are improving the RX performances, and increase the long term
maintainability.

Some changes reflects recent(ish) improvements introduced in the TCP
stack: patch 1, 2 and 3 are the MPTCP counter part of SKB deferral free
and auto-tuning improvements. Note that patch 3 could possibly fix
additional issues, and overall such patch should protect from similar
issues to arise in the future.

Patches 4-7 are aimed at introducing the socket backlog usage which will
be done in a later series to process the packets received by the
different subflows while the msk socket is owned.

Patch 8 is not related to the RX path, but it contains additional tests
for new features recently introduced in net-next.

Signed-off-by: Matthieu Baerts (NGI0) <matttbe@kernel.org>
---
Notes:
 - Sorry for sending this series that late, we had quite a few patches
   to upstream during this cycle. This is the last batch, and it has
   been heavily tested the last 2 weeks.
 - If there are some issues with some patches, but not with 1-3, it
   would be nice, if possible, if these 3 first patches can be accepted,
   to reduce the recently introduced gap with TCP.
 - Patches can be grouped like this if needed: 1-3, 4-5, 6-7, 8. 6-7 are
   preparing the ground for future on-going work, they can be dropped if
   there are issues with them.

---
Matthieu Baerts (NGI0) (1):
      selftests: mptcp: join: validate new laminar endp

Paolo Abeni (7):
      mptcp: leverage skb deferral free
      tcp: make tcp_rcvbuf_grow() accessible to mptcp code
      mptcp: rcvbuf auto-tuning improvement
      mptcp: introduce the mptcp_init_skb helper
      mptcp: remove unneeded mptcp_move_skb()
      mptcp: factor out a basic skb coalesce helper
      mptcp: minor move_skbs_to_msk() cleanup

 include/net/tcp.h                               |   1 +
 net/ipv4/tcp_input.c                            |   2 +-
 net/mptcp/protocol.c                            | 187 ++++++++++++------------
 net/mptcp/protocol.h                            |   4 +-
 tools/testing/selftests/net/mptcp/mptcp_join.sh |  69 +++++++++
 tools/testing/selftests/net/mptcp/pm_nl_ctl.c   |   9 ++
 6 files changed, 177 insertions(+), 95 deletions(-)
---
base-commit: 1493c18fe8696bfc758a97130a485fc4e08387f5
change-id: 20250927-net-next-mptcp-rcv-path-imp-192d8c24c9c7

Best regards,
-- 
Matthieu Baerts (NGI0) <matttbe@kernel.org>
Re: [PATCH net-next 0/8] mptcp: receive path improvement
Posted by patchwork-bot+netdevbpf@kernel.org 1 day, 18 hours ago
Hello:

This series was applied to netdev/net-next.git (main)
by Jakub Kicinski <kuba@kernel.org>:

On Sat, 27 Sep 2025 11:40:36 +0200 you wrote:
> This series includes several changes to the MPTCP RX path. The main
> goals are improving the RX performances, and increase the long term
> maintainability.
> 
> Some changes reflects recent(ish) improvements introduced in the TCP
> stack: patch 1, 2 and 3 are the MPTCP counter part of SKB deferral free
> and auto-tuning improvements. Note that patch 3 could possibly fix
> additional issues, and overall such patch should protect from similar
> issues to arise in the future.
> 
> [...]

Here is the summary with links:
  - [net-next,1/8] mptcp: leverage skb deferral free
    https://git.kernel.org/netdev/net-next/c/9aa59323f270
  - [net-next,2/8] tcp: make tcp_rcvbuf_grow() accessible to mptcp code
    https://git.kernel.org/netdev/net-next/c/a7556779745c
  - [net-next,3/8] mptcp: rcvbuf auto-tuning improvement
    https://git.kernel.org/netdev/net-next/c/e118cdc34dd1
  - [net-next,4/8] mptcp: introduce the mptcp_init_skb helper
    https://git.kernel.org/netdev/net-next/c/9a0afe0db467
  - [net-next,5/8] mptcp: remove unneeded mptcp_move_skb()
    https://git.kernel.org/netdev/net-next/c/c4ebc4ee4e75
  - [net-next,6/8] mptcp: factor out a basic skb coalesce helper
    https://git.kernel.org/netdev/net-next/c/68c7af988bd1
  - [net-next,7/8] mptcp: minor move_skbs_to_msk() cleanup
    https://git.kernel.org/netdev/net-next/c/59701b187003
  - [net-next,8/8] selftests: mptcp: join: validate new laminar endp
    https://git.kernel.org/netdev/net-next/c/c912f935a5c7

You are awesome, thank you!
-- 
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html
Re: [PATCH net-next 0/8] mptcp: receive path improvement
Posted by Jakub Kicinski 1 day, 19 hours ago
On Sat, 27 Sep 2025 11:40:36 +0200 Matthieu Baerts (NGI0) wrote:
> This series includes several changes to the MPTCP RX path. The main
> goals are improving the RX performances, and increase the long term
> maintainability.
> 
> Some changes reflects recent(ish) improvements introduced in the TCP
> stack: patch 1, 2 and 3 are the MPTCP counter part of SKB deferral free
> and auto-tuning improvements. Note that patch 3 could possibly fix
> additional issues, and overall such patch should protect from similar
> issues to arise in the future.
> 
> Patches 4-7 are aimed at introducing the socket backlog usage which will
> be done in a later series to process the packets received by the
> different subflows while the msk socket is owned.
> 
> Patch 8 is not related to the RX path, but it contains additional tests
> for new features recently introduced in net-next.

Could be a coincidence but we got 3 simult_flows.sh flakes since this
was posted. Previous one was 20+ days ago:
https://netdev.bots.linux.dev/contest.html?ld_cnt=250&pw-pass=n&pass=0&test=simult-flows-sh
Re: [PATCH net-next 0/8] mptcp: receive path improvement
Posted by Matthieu Baerts 11 hours ago
Hi Jakub,

On 30/09/2025 03:27, Jakub Kicinski wrote:
> On Sat, 27 Sep 2025 11:40:36 +0200 Matthieu Baerts (NGI0) wrote:
>> This series includes several changes to the MPTCP RX path. The main
>> goals are improving the RX performances, and increase the long term
>> maintainability.
>>
>> Some changes reflects recent(ish) improvements introduced in the TCP
>> stack: patch 1, 2 and 3 are the MPTCP counter part of SKB deferral free
>> and auto-tuning improvements. Note that patch 3 could possibly fix
>> additional issues, and overall such patch should protect from similar
>> issues to arise in the future.
>>
>> Patches 4-7 are aimed at introducing the socket backlog usage which will
>> be done in a later series to process the packets received by the
>> different subflows while the msk socket is owned.
>>
>> Patch 8 is not related to the RX path, but it contains additional tests
>> for new features recently introduced in net-next.
> 
> Could be a coincidence but we got 3 simult_flows.sh flakes since this
> was posted. Previous one was 20+ days ago:
> https://netdev.bots.linux.dev/contest.html?ld_cnt=250&pw-pass=n&pass=0&test=simult-flows-sh

Thank you for this message! Our CI didn't spot this issue in the last 2
weeks. I see it happened again on NIPA (sorry for that, and thank you
for having ignored this selftest) so I guess it is not a coincidence,
I'm going to investigate this issue ASAP.

Cheers,
Matt
-- 
Sponsored by the NGI0 Core fund.