[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAL+tcoAiOwWEsbkqSJ3kpwLxd8seBBUOAODeBideFdQYV7LfWg@mail.gmail.com>
Date: Thu, 15 Aug 2024 18:55:13 +0800
From: Jason Xing <kerneljasonxing@...il.com>
To: Paolo Abeni <pabeni@...hat.com>
Cc: sunyiqi <sunyiqixm@...il.com>, edumazet@...gle.com, davem@...emloft.net,
dsahern@...nel.org, kuba@...nel.org, netdev@...r.kernel.org,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH] net: remove release/lock_sock in tcp_splice_read
Hello Paolo,
On Thu, Aug 15, 2024 at 6:40 PM Paolo Abeni <pabeni@...hat.com> wrote:
[...]
> > - release_sock(sk);
> > - lock_sock(sk);
>
> This is needed to flush the sk backlog.
>
> Somewhat related, I think we could replace the pair with sk_flush_backlog().
>
Do you think we could do this like the following commit:
commit d41a69f1d390fa3f2546498103cdcd78b30676ff
Author: Eric Dumazet <edumazet@...gle.com>
Date: Fri Apr 29 14:16:53 2016 -0700
tcp: make tcp_sendmsg() aware of socket backlog
Large sendmsg()/write() hold socket lock for the duration of the call,
unless sk->sk_sndbuf limit is hit. This is bad because incoming packets
are parked into socket backlog for a long time.
?
Then we can avoid taking the lock too long which results in too many
packets in the backlog.
Thanks,
Jason
Powered by blists - more mailing lists