[PATCH net-next v3 0/7] mptcp: out-of-order queue pruning
"Matthieu Baerts (NGI0)" <[email protected]>
| Newsgroups | org.kernel.vger.linux-kernel,dev.linux.lists.mptcp,org.kernel.vger.netdev |
|---|---|
| Message-ID | <20260807-net-next-mptcp-oooq-pruning-v3-0-dbc1eb853cc3@kernel.org> |
Under memory pressure, a pruning of the MPTCP-level OoO queue might be required as last resort, to avoid too long recoveries, or even stalls. Geliang and Gang managed to reproduce this behaviour, and Paolo improved the situation thanks to the following patches: - Patches 1-3: improve the MPTCP-level retransmission schema to make recoveries from memory pressure/after MPTCP-level drop significantly faster. - Patches 4-5: make the admission check way stricter for incoming packets exceeding the memory limits, with some exceptions for fallback sockets. - Patches 6-7: implement OoO queue pruning for MPTCP. Signed-off-by: Matthieu Baerts (NGI0) <[email protected]> --- Changes in v3: - Address comments from Clashiko. - Patches 2, 6: new - Patch 3: many cleanups, needed after patch 2. - Patch 4: check backlog and rcvbuf separately + do not drop rst - Patch 7: prune only for new data + reorganize code to follow TCP - Link to v2: https://patch.msgid.link/20260731-net-next-mptcp-oooq-pruning-v2-0-24838164fa21@kernel.org Changes in v2: - Address comments from Clashiko. - Patch 3: typo, comment, bump TCP MIB counter. - Patch 5: uniform MIB counter name. - Rebased. - Link to v1: https://patch.msgid.link/20260724-net-next-mptcp-oooq-pruning-v1-0-5dd4dec63a54@kernel.org --- Paolo Abeni (7): mptcp: move the retrans loop to a separate helper mptcp: move the stale logic out of retrans scheduler mptcp: let the retrans scheduler do its job mptcp: explicitly drop over memory limits mptcp: enforce hard limit on backlog flushing mptcp: avoid code duplication in __mptcp_move_skb() mptcp: implemented OoO queue pruning net/mptcp/mib.c | 3 + net/mptcp/mib.h | 3 + net/mptcp/options.c | 32 +++++- net/mptcp/pm.c | 41 +++++--- net/mptcp/protocol.c | 290 ++++++++++++++++++++++++++++++++++++--------------- net/mptcp/protocol.h | 11 +- 6 files changed, 273 insertions(+), 107 deletions(-) --- base-commit: 4fa4977a0d900f936bcae5cd2c510be5554e8dd6 change-id: 20260724-net-next-mptcp-oooq-pruning-48566d10dbd0 Best regards, -- Matthieu Baerts (NGI0) <[email protected]>