This series collects a few follow-up for the backlog refactor, with some
of them posing as fixes just to confuse the enemy (or feel the season
mood)
Targeting net-next as the issues addressed are very old, the change
is quite invasive and, as mentioned, based on the BL refactor.
Only patch 2/7 could be considered for net, but still included because
somewhat related to the others and to keep my life easy.
Overall this:
- introduces a tracepoint similar to tcp useful to track down the issues
addressed here
- avoid rx drop in corner case scenarios, improving tput stability and
peak tput over fast link
- refactor the rcv space and rtt estimator, overall making DRS more
correct and avoiding rcv buffer drifting to tcp_rmem[2], which in
turn makes the tput more stable and less bursty
---
v2 -> v3:
- use __entry->family in patch 1/7
- more verbose commit message for patch 6/7
v1 -> v2:
- new patch 1/7
- old patch 2/4 has been split in 3: 3/7, 4/7 and 5/7
- refactor both the rcv space init and rtt estimator
Paolo Abeni (7):
trace: mptcp: add mptcp_rcvbuf_grow tracepoint
mptcp: avoid unneeded subflow-level drops.
mptcp: fix receive space timestamp initialization.
mptcp: consolidate rcv space init
mptcp: better rcv space initialization
mptcp: better mptcp-level RTT estimator
mptcp: add receive queue awareness in tcp_rcv_space_adjust()
include/trace/events/mptcp.h | 77 ++++++++++++++++++
net/mptcp/options.c | 31 +++++++
net/mptcp/protocol.c | 154 ++++++++++++++++++++++-------------
net/mptcp/protocol.h | 44 +++++++++-
net/mptcp/subflow.c | 5 +-
5 files changed, 250 insertions(+), 61 deletions(-)
--
2.51.0