net/mptcp/options.c | 4 ++-- net/mptcp/protocol.c | 27 ++++++++++++++++----------- net/mptcp/protocol.h | 1 + 3 files changed, 19 insertions(+), 13 deletions(-)
This is mostly a follow-up to the recent OoO queue pruning series. Explicitly targeting net as we have already a lot of patches pending for net-next, and no need to rush IMHO. First 2 patches addresses explicit comments from sashiko, 3rd one is a somewhat unrelated cleanup I stumbled upon while implementing patch 4. The last patch fixes another thing implided by sashiko while reviewing the mentioned series. Paolo Abeni (4): mptcp: being below memory limit is a likely() condition mptcp: avoid pruning for OoW data mptcp: remove unneeded READ_ONCE() annotation mptcp: do not reschedule the RTX timer for fallback sockets net/mptcp/options.c | 4 ++-- net/mptcp/protocol.c | 27 ++++++++++++++++----------- net/mptcp/protocol.h | 1 + 3 files changed, 19 insertions(+), 13 deletions(-) -- 2.55.0
Hi Paolo, Thank you for the fixes! 12 Aug 2026 19:08:30 Paolo Abeni <pabeni@redhat.com>: > This is mostly a follow-up to the recent OoO queue pruning series. > Explicitly targeting net as we have already a lot of patches pending for > net-next, and no need to rush IMHO. (I hope it was OK for me to send a few small cleanup patches) > First 2 patches addresses explicit comments from sashiko, 3rd one is a > somewhat unrelated cleanup I stumbled upon while implementing patch 4. > > The last patch fixes another thing implided by sashiko while reviewing > the mentioned series. When reading this, it sounds like there should be 5 patches but only 4 have been shared. Just to be sure: is everything there? Cheers, Matt
On 8/12/26 10:54 PM, Matthieu Baerts wrote:
> 12 Aug 2026 19:08:30 Paolo Abeni <pabeni@redhat.com>:
>
>> This is mostly a follow-up to the recent OoO queue pruning series.
>> Explicitly targeting net as we have already a lot of patches pending for
>> net-next, and no need to rush IMHO.
>
> (I hope it was OK for me to send a few small cleanup patches)
ATM I haven't checked yet if you already did... but pw says ~400 patches to
be processed before EoW, I would love if such count is not going to increase:)
>> First 2 patches addresses explicit comments from sashiko, 3rd one is a
>> somewhat unrelated cleanup I stumbled upon while implementing patch 4.
>>
>> The last patch fixes another thing implided by sashiko while reviewing
>> the mentioned series.
>
> When reading this, it sounds like there should be 5 patches but only 4
> have been shared. Just to be sure: is everything there?
Yes, patch 4 == last patch.
Also patch 4 is the one I think opus 5 could raise some concern on. A safer
alternative would be replacing it with the following, which is simpler, but I'm
not fancy of adding another conditional.
Staging the series a little bit in the export branch will give some time
to ponder about a better solution.
---
diff --git a/net/mptcp/protocol.c b/net/mptcp/protocol.c
index ca644ec53eed..45d627981f15 100644
--- a/net/mptcp/protocol.c
+++ b/net/mptcp/protocol.c
@@ -995,13 +995,15 @@ static bool mptcp_rtx_timer_pending(struct sock *sk)
static void mptcp_reset_rtx_timer(struct sock *sk)
{
+ struct mptcp_sock *msk = mptcp_sk(sk);
unsigned long tout;
/* prevent rescheduling on close */
- if (unlikely(inet_sk_state_load(sk) == TCP_CLOSE))
+ if (unlikely(inet_sk_state_load(sk) == TCP_CLOSE) ||
+ test_bit(MPTCP_FALLBACK_DONE, msk->flags))
return;
- tout = mptcp_sk(sk)->timer_ival;
+ tout = msk->timer_ival;
sk_reset_timer(sk, &sk->mptcp_retransmit_timer, jiffies + tout);
}
On 8/13/26 8:34 AM, Paolo Abeni wrote: > Staging the series a little bit in the export branch will give some time > to ponder about a better solution. Slightly related, sashiko could not apply the patches. I'll rebase and re-send them to get such review. /P
Hi Paolo,
On 13/08/2026 08:34, Paolo Abeni wrote:
> On 8/12/26 10:54 PM, Matthieu Baerts wrote:
>> 12 Aug 2026 19:08:30 Paolo Abeni <pabeni@redhat.com>:
>>
>>> This is mostly a follow-up to the recent OoO queue pruning series.
>>> Explicitly targeting net as we have already a lot of patches pending for
>>> net-next, and no need to rush IMHO.
>>
>> (I hope it was OK for me to send a few small cleanup patches)
>
> ATM I haven't checked yet if you already did... but pw says ~400 patches to
> be processed before EoW, I would love if such count is not going to increase:)
Indeed, I understand.
(If I did, can I say it was my cat walking on the keyboard? 😇 Sorry..)
>>> First 2 patches addresses explicit comments from sashiko, 3rd one is a
>>> somewhat unrelated cleanup I stumbled upon while implementing patch 4.
>>>
>>> The last patch fixes another thing implided by sashiko while reviewing
>>> the mentioned series.
>>
>> When reading this, it sounds like there should be 5 patches but only 4
>> have been shared. Just to be sure: is everything there?
> Yes, patch 4 == last patch.
OK, thanks!
> Also patch 4 is the one I think opus 5 could raise some concern on. A safer
> alternative would be replacing it with the following, which is simpler, but I'm
> not fancy of adding another conditional.
Thank you!
> Staging the series a little bit in the export branch will give some time
> to ponder about a better solution.
Fine for me!
> ---
> diff --git a/net/mptcp/protocol.c b/net/mptcp/protocol.c
> index ca644ec53eed..45d627981f15 100644
> --- a/net/mptcp/protocol.c
> +++ b/net/mptcp/protocol.c
> @@ -995,13 +995,15 @@ static bool mptcp_rtx_timer_pending(struct sock *sk)
>
> static void mptcp_reset_rtx_timer(struct sock *sk)
> {
> + struct mptcp_sock *msk = mptcp_sk(sk);
> unsigned long tout;
>
> /* prevent rescheduling on close */
> - if (unlikely(inet_sk_state_load(sk) == TCP_CLOSE))
> + if (unlikely(inet_sk_state_load(sk) == TCP_CLOSE) ||
> + test_bit(MPTCP_FALLBACK_DONE, msk->flags))
> return;
>
> - tout = mptcp_sk(sk)->timer_ival;
> + tout = msk->timer_ival;
> sk_reset_timer(sk, &sk->mptcp_retransmit_timer, jiffies + tout);
> }
Cheers,
Matt
--
Sponsored by the NGI0 Core fund.
© 2016 - 2026 Red Hat, Inc.