mbox series

[v5,mptcp-next,0/4] mptcp: misc improvement

Message ID cover.1695368456.git.pabeni@redhat.com (mailing list archive)
Headers show
Series mptcp: misc improvement | expand

Message

Paolo Abeni Sept. 22, 2023, 7:42 a.m. UTC
This series is a follow-up the discussion ongoing here:

https://github.com/multipath-tcp/mptcp_net-next/issues/437

Daire reported several sub-optimal MPTCP behaviour on high-latency
links.

At least 3 different items stands off:

* notsent_lowat setting fooling the scheduler
* sub-optimal send buffer autotuning
* delayed acks being de-facto disabled due to subflow rcvlowat

This series is an attempt to address the first 2 points above.

v4 -> v5:
 - dealing with Mat feedback in patch 1/4 and 4/4

v3 -> v4:
 - added patch 1/4, fixing a pre-existing issue related. That patch
   should likely go via -net, included here because the issue can not
   manifest itself until patch 4/4.
   Despite by best attempt to test this, I thing it would be easier
   to just lest syzkaller crunch it more than a bit.

v2 -> v3:
 - avoid ingremental updates, always recompute sum(ssk->sndbuf) to avoid
   drift on memory pressure/decrease
 - add some needed comments

v1 -> v2:
 - fixed compiler warning in patch 3/3 && more local testing

Paolo Abeni (4):
  mptcp: fix delegated action races.
  mptcp: consolidate sockopt synchronization
  mptcp: ignore notsent_lowat setting at the subflow level.
  mptcp: refactor sndbuf auto-tuning.

 net/mptcp/protocol.c | 48 +++++++++++++++---------
 net/mptcp/protocol.h | 89 ++++++++++++++++++++++++++++++--------------
 net/mptcp/sockopt.c  | 33 +++++-----------
 net/mptcp/subflow.c  | 31 ++++++++-------
 4 files changed, 119 insertions(+), 82 deletions(-)

Comments

Mat Martineau Sept. 22, 2023, 4:17 p.m. UTC | #1
On Fri, 22 Sep 2023, Paolo Abeni wrote:

> This series is a follow-up the discussion ongoing here:
>
> https://github.com/multipath-tcp/mptcp_net-next/issues/437
>
> Daire reported several sub-optimal MPTCP behaviour on high-latency
> links.
>
> At least 3 different items stands off:
>
> * notsent_lowat setting fooling the scheduler
> * sub-optimal send buffer autotuning
> * delayed acks being de-facto disabled due to subflow rcvlowat
>
> This series is an attempt to address the first 2 points above.
>
> v4 -> v5:
> - dealing with Mat feedback in patch 1/4 and 4/4
>

v5 LGTM, thanks Paolo!

Reviewed-by: Mat Martineau <martineau@kernel.org>

> v3 -> v4:
> - added patch 1/4, fixing a pre-existing issue related. That patch
>   should likely go via -net, included here because the issue can not
>   manifest itself until patch 4/4.
>   Despite by best attempt to test this, I thing it would be easier
>   to just lest syzkaller crunch it more than a bit.
>
> v2 -> v3:
> - avoid ingremental updates, always recompute sum(ssk->sndbuf) to avoid
>   drift on memory pressure/decrease
> - add some needed comments
>
> v1 -> v2:
> - fixed compiler warning in patch 3/3 && more local testing
>
> Paolo Abeni (4):
>  mptcp: fix delegated action races.
>  mptcp: consolidate sockopt synchronization
>  mptcp: ignore notsent_lowat setting at the subflow level.
>  mptcp: refactor sndbuf auto-tuning.
>
> net/mptcp/protocol.c | 48 +++++++++++++++---------
> net/mptcp/protocol.h | 89 ++++++++++++++++++++++++++++++--------------
> net/mptcp/sockopt.c  | 33 +++++-----------
> net/mptcp/subflow.c  | 31 ++++++++-------
> 4 files changed, 119 insertions(+), 82 deletions(-)
>
> -- 
> 2.41.0
>
>
>
Matthieu Baerts Sept. 23, 2023, 8:32 a.m. UTC | #2
Hi Paolo, Mat,

On 22/09/2023 09:42, Paolo Abeni wrote:
> This series is a follow-up the discussion ongoing here:
> 
> https://github.com/multipath-tcp/mptcp_net-next/issues/437
> 
> Daire reported several sub-optimal MPTCP behaviour on high-latency
> links.
> 
> At least 3 different items stands off:
> 
> * notsent_lowat setting fooling the scheduler
> * sub-optimal send buffer autotuning
> * delayed acks being de-facto disabled due to subflow rcvlowat
> 
> This series is an attempt to address the first 2 points above.

Thank you for this nice series and the reviews!

Now in our tree: the first patch has been added in "fixes for -net" and
the rest in "feat. for net-next".

Please note that I had a small conflict in patch 3/4, a conflict with
"mptcp: give rcvlowat some love" from your other series I applied first.

New patches for t/upstream-net and t/upstream:
- 24f95a78eca5: mptcp: fix delegated action races
- Results: d92d8f5c2b45..50606b0ed27d (export-net)

New patches for t/upstream:
- b17ad6bb5a17: mptcp: consolidate sockopt synchronization
- f1f975d21614: mptcp: ignore notsent_lowat setting at the subflow level
- 5bc3584d46b5: mptcp: refactor sndbuf auto-tuning
- Results: f2baa63004ad..7221fbbb862a (export)

Tests are now in progress:

https://cirrus-ci.com/github/multipath-tcp/mptcp_net-next/export-net/20230923T082403
https://cirrus-ci.com/github/multipath-tcp/mptcp_net-next/export/20230923T083048

Cheers,
Matt