General list for discussing Bufferbloat
 help / color / mirror / Atom feed
From: Dave Taht <dave.taht@gmail.com>
To: Eric Dumazet <eric.dumazet@gmail.com>
Cc: Hal Murray <hmurray@megapathdsl.net>,
	bloat <bloat@lists.bufferbloat.net>
Subject: Re: [Bloat] SO_SNDBUF and SO_RCVBUF
Date: Wed, 22 Apr 2015 14:47:28 -0700	[thread overview]
Message-ID: <CAA93jw5HqiXgaeEE9mPrU06gR1S6Db3PECpQ_SpkUNjao1+oag@mail.gmail.com> (raw)
In-Reply-To: <1429738979.18561.150.camel@edumazet-glaptop2.roam.corp.google.com>

On Wed, Apr 22, 2015 at 2:42 PM, Eric Dumazet <eric.dumazet@gmail.com> wrote:
> 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'

Stuart cheshire has a very nice youtube video due out soon on this option.
He demonstrates the enormous difference it made in a screen sharing
application...

... and there are many libs and toolkits (like X11, userspace tcp
vpns, etc) that
could use it. It should be going into every tcp app that might congest AND can
do more intelligent things when congested.

It looks useful in web browsers also.

I have no idea to what extent this socket option has been picked up by
the marketplace/open source world.

>
> 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/
>
>



-- 
Dave Täht
Open Networking needs **Open Source Hardware**

https://plus.google.com/u/0/+EricRaymond/posts/JqxCe2pFr67

  reply	other threads:[~2015-04-22 21:47 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-04-22 19:10 Hal Murray
2015-04-22 19:26 ` Rick Jones
2015-04-22 19:28 ` Dave Taht
2015-04-22 21:02   ` Eric Dumazet
2015-04-22 21:05     ` Rick Jones
2015-04-22 21:46       ` Eric Dumazet
2015-04-22 22:20         ` Simon Barber
2015-04-22 23:08           ` Eric Dumazet
2015-04-24  4:37       ` Dave Taht
2015-04-24  4:40         ` Dave Taht
2015-04-24 13:50           ` Eric Dumazet
2015-04-24 14:34             ` Dave Taht
2015-04-24 16:31             ` Rick Jones
2015-04-24 18:41               ` Eric Dumazet
2015-04-24  5:23         ` Eric Dumazet
2015-04-22 21:07     ` Steinar H. Gunderson
2015-04-22 21:42       ` Eric Dumazet
2015-04-22 21:47         ` Dave Taht [this message]
2015-04-22 22:11         ` Steinar H. Gunderson

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://lists.bufferbloat.net/postorius/lists/bloat.lists.bufferbloat.net/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CAA93jw5HqiXgaeEE9mPrU06gR1S6Db3PECpQ_SpkUNjao1+oag@mail.gmail.com \
    --to=dave.taht@gmail.com \
    --cc=bloat@lists.bufferbloat.net \
    --cc=eric.dumazet@gmail.com \
    --cc=hmurray@megapathdsl.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox