[Bloat] SO_SNDBUF and SO_RCVBUF

Eric Dumazet eric.dumazet at gmail.com
Wed Apr 22 17:42:59 EDT 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