[Bloat] SO_SNDBUF and SO_RCVBUF
Eric Dumazet
eric.dumazet at gmail.com
Wed Apr 22 14:42:59 PDT 2015
On Wed, 2015-04-22 at 23:07 +0200, Steinar H. Gunderson wrote:
> On Wed, Apr 22, 2015 at 02:02:32PM -0700, Eric Dumazet wrote:
> > Yeah, the real nice thing is TCP_NOTSENT_LOWAT added in linux-3.12
>
> But this is only for when your data could change underway, right?
> Like, not relevant for sending one big file, but might be relevant for e.g.
> VNC (or someone mentioned the usecase of HTTP/2, where a high-priority
> request might come in, which you don't want buried behind a megabyte of
> stuff in the send queue).
Sorry, I do not understand you.
The nice thing about TCP_NOTSENT_LOWAT is that you no longer have to
care about choosing the 'right SO_SNDBUF'
It is still CC responsibility to choose/set cwnd, but you hadn't set an
artificial cap on cwnd.
You control the amount of 'unsent data' per socket.
If you set a low limit, application might have to issue more send()
calls and get more EPOLLOUT events.
This also means that if you get an abort / eof, you no longer have a
huge unsent queue that TCP API does not allow to cancel.
https://insouciant.org/tech/prioritization-only-works-when-theres-pending-data-to-prioritize/
More information about the Bloat
mailing list