From: Paolo Abeni <pabeni@redhat.com>
To: mptcp@lists.linux.dev
Cc: Geliang Tang <geliang@kernel.org>, gang.yan@linux.dev
Subject: [PATCH v6 mptcp-next 0/7] mptcp: address stall under memory pressure
Date: Fri, 15 May 2026 11:07:21 +0200 [thread overview]
Message-ID: <cover.1778835009.git.pabeni@redhat.com> (raw)
This an attempt to fix the data transfer stall reported by Geliang and
Gang more carefully enforcing memory constraints at the MPTCP level.
This iteration presents a significant change WRT the previous one,
avoiding entirely the collapse attempt on memory pressure. Note that
this choice represent a trade off: collapsing allow much faster transfer
(to be more accurate: order of magnitude less slow) under some extreme
conditions, but makes transfer slower and much more CPU intensive for
less unlikely conditions.
As a consequence of the above the `mptcp_data.multi_chunk_sendfile`
test-case needs a 240 seconds timeout to complete successfully:
TEST_F_TIMEOUT(mptcp, multi_chunk_sendfile, 240)
The solution performing data collapsing would need similar long timeout
for the multiproc tests cases: mutliproc_even, mutliproc_readers,
mutliproc_writers, mutliproc_sendpage_even, mutliproc_sendpage_readers,
mutliproc_sendpage_writers.
Patch 1 is new in v6, and is actually a fix for an old issue (targeting
net), included here just for my convenience.
Patch 2 and 3 makes the admission check much more strict for incoming
packets exceeding the memory limits, with some exception for fallback
sockets.
Patch 4 makes implement OoO queue pruning for MPTCP and patch 5
addresses an edge scenario that could still lead to transfer stall
under memory pressure.
Finally patch 6 and 7 improve the MPTCP-level retransmission schema to
make recovery from memory pressure/after MPTCP-level drop significanly
faster.
---
Paolo Abeni (7):
mptcp: fix missing wakeups in edge scenarios
mptcp: explicitly drop over memory limits
mptcp: enforce hard limit on backlog flushing
mptcp: implemented OoO queue pruning
mptcp: track prune recovery status
mptcp: move the retrans loop to a separate helper
mptcp: let the retrans scheduler do its job.
net/mptcp/mib.c | 2 +
net/mptcp/mib.h | 2 +
net/mptcp/options.c | 67 +++++++++++-
net/mptcp/protocol.c | 249 ++++++++++++++++++++++++++++++++-----------
net/mptcp/protocol.h | 4 +
net/mptcp/subflow.c | 1 +
6 files changed, 259 insertions(+), 66 deletions(-)
--
2.54.0
next reply other threads:[~2026-05-15 9:07 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-05-15 9:07 Paolo Abeni [this message]
2026-05-15 9:07 ` [PATCH v6 mptcp-next 1/7] mptcp: fix missing wakeups in edge scenarios Paolo Abeni
2026-05-15 9:07 ` [PATCH v6 mptcp-next 2/7] mptcp: explicitly drop over memory limits Paolo Abeni
2026-05-15 9:07 ` [PATCH v6 mptcp-next 3/7] mptcp: enforce hard limit on backlog flushing Paolo Abeni
2026-05-15 9:07 ` [PATCH v6 mptcp-next 4/7] mptcp: implemented OoO queue pruning Paolo Abeni
2026-05-15 9:07 ` [PATCH v6 mptcp-next 5/7] mptcp: track prune recovery status Paolo Abeni
2026-05-15 9:07 ` [PATCH v6 mptcp-next 6/7] mptcp: move the retrans loop to a separate helper Paolo Abeni
2026-05-15 9:07 ` [PATCH v6 mptcp-next 7/7] mptcp: let the retrans scheduler do its job Paolo Abeni
2026-05-15 9:29 ` [PATCH v6 mptcp-next 0/7] mptcp: address stall under memory pressure Paolo Abeni
2026-05-18 8:13 ` gang.yan
2026-05-18 16:30 ` Paolo Abeni
2026-05-19 8:50 ` gang.yan
2026-05-19 16:18 ` Paolo Abeni
2026-05-15 10:35 ` MPTCP CI
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=cover.1778835009.git.pabeni@redhat.com \
--to=pabeni@redhat.com \
--cc=gang.yan@linux.dev \
--cc=geliang@kernel.org \
--cc=mptcp@lists.linux.dev \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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.