[Bloat] using tcp_notsent_lowat in various apps?

Eric Dumazet eric.dumazet at gmail.com
Tue Jun 16 14:12:37 EDT 2015


On Tue, 2015-06-16 at 10:22 -0700, Dave Taht wrote:

> Take samba as another potential example. I commonly see this
> increasing the SO_SNDBUF to a given value, but I am not sure if this
> is the right thing anymore. As samba is commonly used for filesharing
> (and things that take locks and do database-y stuff), improving
> interactivity might be a big win.
> 
> Seeing the 50%! decrease in kernel memory on the original tests of
> TCP_SENT_LOWAT is very exciting in the context of those running samba
> on tiny tiny nas devices common in my world.
> 
> And seeing apple enable it universally points to perhaps exploring the
> effects of just enabling it universally in linux (or in certain kinds
> of linux-based devices) at a "reasonable" value, for whatever value of
> reasonable exists.

Another use case for TCP_SENT_LOWAT is the cancel phase.

If for one reason, application decides to abort the transfer, by doing a
close() or shutdown(), it is better to have at most few KB of data still
queued in socket, that kernel tries to deliver no matter what.

I've seen stupid applications having timeouts on their sockets. When
they believe a flow is stuck, they close it and open a new one. And you
get many flows competing on the same bottleneck.






More information about the Bloat mailing list