[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <eba94a12-299a-46db-adf1-5f37f1b9b993@redhat.com>
Date: Wed, 8 Oct 2025 17:30:07 +0200
From: Paolo Abeni <pabeni@...hat.com>
To: Eric Dumazet <edumazet@...gle.com>, "David S . Miller"
<davem@...emloft.net>, Jakub Kicinski <kuba@...nel.org>
Cc: Simon Horman <horms@...nel.org>, Kuniyuki Iwashima <kuniyu@...gle.com>,
Willem de Bruijn <willemb@...gle.com>, netdev@...r.kernel.org,
eric.dumazet@...il.com
Subject: Re: [PATCH RFC net-next 4/4] net: allow busy connected flows to
switch tx queues
On 10/8/25 12:46 PM, Eric Dumazet wrote:
> This is a followup of commit 726e9e8b94b9 ("tcp: refine
> skb->ooo_okay setting") and to the prior commit in this series
> ("net: control skb->ooo_okay from skb_set_owner_w()")
>
> skb->ooo_okay might never be set for bulk flows that always
> have at least one skb in a qdisc queue of NIC queue,
> especially if TX completion is delayed because of a stressed cpu.
>
> The so-called "strange attractors" has caused many performance
> issues, we need to do better.
I must admit my ignorance about the topic, do you have any reference handy?
> @@ -1984,6 +1985,14 @@ static inline int sk_receive_skb(struct sock *sk, struct sk_buff *skb,
> return __sk_receive_skb(sk, skb, nested, 1, true);
> }
>
> +/* This helper checks if a socket is a full socket,
> + * ie _not_ a timewait or request socket.
> + */
> +static inline bool sk_fullsock(const struct sock *sk)
> +{
> + return (1 << sk->sk_state) & ~(TCPF_TIME_WAIT | TCPF_NEW_SYN_RECV);
> +}
> +
I'm possibly low on coffee, but it looks like it's not needed to move
around sk_fullsock() ?!? possibly sk_tx_queue_get() remained inline in a
previous version of the patch?
Thanks,
Paolo
Powered by blists - more mailing lists