From: Eric Dumazet <eric.dumazet@gmail.com>
To: Mikael Abrahamsson <swmike@swm.pp.se>
Cc: bloat <bloat@lists.bufferbloat.net>
Subject: Re: [Bloat] benefits of ack filtering
Date: Thu, 30 Nov 2017 07:51:56 -0800 [thread overview]
Message-ID: <1512057116.19682.14.camel@gmail.com> (raw)
In-Reply-To: <alpine.DEB.2.20.1711301343320.32099@uplift.swm.pp.se>
On Thu, 2017-11-30 at 14:04 +0100, Mikael Abrahamsson wrote:
> On Thu, 30 Nov 2017, Eric Dumazet wrote:
>
> > I agree that TCP itself should generate ACK smarter, on receivers
> > that
> > are lacking GRO. (TCP sends at most one ACK per GRO packets, that
> > is why
> > we did not feel an urgent need for better ACK generation)
>
> Could you elaborate a bit more on the practical implications of the
> above
> text? What is the typical GRO size used when doing gigabit ethernet
> transmissions?
Assuming NAPI handler receives a big packet train in one go [1], GRO
packets can be full size (45 MSS -> 65160 bytes of payload assuming
1448 bytes per frame)
[1] GRO engine has an opt-in high res timer helping to extend NAPI poll
if desired. https://git.kernel.org/pub/scm/linux/kernel/git/davem/net-n
ext.git/commit/?id=3b47d30396bae4f0bd1ff0dbcd7c4f5077e7df4e
>
> So if we're receiving 70kPPS of 1500 byte packets containing 1460
> MSS
> sized packet (~100 megabyte/s), what would a typical ACK rate be in
> that
> case?
1) Assuming receiver handles GRO.
2) Assuming few PSH flag set on incoming frames.
3) A default GRO engine on a 10Gbit NIC would probably not aggregate
packets, since 14 usec delay between each packet is too big to let NAPI
handler catch more than 1 packet per NIC RX interrupt.
But setting /sys/class/net/ethX/gro_flush_timeout to 14000 would allow
to build full size GRO packets (45 MSS)
-> TCP receiver would then send 1555 ACK per second instead of 70,000
>
> In response to some other postings here, my question regarding "is
> 35kPPS
> really needed" my proposal is not "let's send 50 PPS of ACKs". My
> proposal
> is if we can't come up with a smarter algorithm than something from
> the
> 90ties that says "let's send one ACK per 2*MSS" when we today have
> magnitudes higher rates of forwarding. Also, on for instance DOCSIS
> networks then you're going to get several ACKs back-to-back anyway
> (because if they're not pruned by the DOCSIS network, they're anyway
> sent
> in "bursts" within a single DOCSIS transmit opportunity), so
> imagining
> that 35kPPS gives you higher resolution than 1kPPS of ACKs is just
> an
> illusion.
>
> So if GRO results in (I'm just speculating here) "we're only sending
> one
> ACK per X kilobytes received if the packets arrived in the same
> millisecond" and X is in the 16-64 kilobyte range, then that's fine
> by me.
>
> Any network worth anything should be able to smooth out "bursts" of
> 16-64
> kilobytes at line rate anyway, in case of egress and the line rate
> there
> is lower than the sending end is transmitting packets at.
>
next prev parent reply other threads:[~2017-11-30 15:52 UTC|newest]
Thread overview: 76+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-11-28 21:48 Dave Taht
2017-11-29 6:09 ` Mikael Abrahamsson
2017-11-29 9:34 ` Sebastian Moeller
2017-11-29 12:49 ` Mikael Abrahamsson
2017-11-29 13:13 ` Luca Muscariello
2017-11-29 14:31 ` Mikael Abrahamsson
2017-11-29 14:36 ` Jonathan Morton
2017-11-29 15:24 ` Andrés Arcia-Moret
2017-11-29 15:53 ` Luca Muscariello
[not found] ` <CAJq5cE3qsmy8EFYZmQsLL_frm8Tty9Gkm92MQPZ649+kpM1oMw@mail.gmail.com>
2017-11-29 16:13 ` Jonathan Morton
2017-11-30 7:03 ` Michael Welzl
2017-11-30 7:24 ` Dave Taht
2017-11-30 7:45 ` Dave Taht
2017-11-30 7:48 ` Jonathan Morton
2017-11-30 8:00 ` Luca Muscariello
2017-11-30 10:24 ` Eric Dumazet
2017-11-30 13:04 ` Mikael Abrahamsson
2017-11-30 15:51 ` Eric Dumazet [this message]
2017-12-01 0:28 ` David Lang
2017-12-01 7:09 ` Jan Ceuleers
2017-12-01 12:53 ` Toke Høiland-Jørgensen
2017-12-01 13:13 ` [Bloat] [Make-wifi-fast] " Кирилл Луконин
2017-12-01 13:22 ` Luca Muscariello
2017-12-11 17:42 ` Simon Barber
2017-12-01 13:17 ` [Bloat] " Luca Muscariello
2017-12-01 13:40 ` Toke Høiland-Jørgensen
2017-12-01 17:42 ` Dave Taht
2017-12-01 20:39 ` Juliusz Chroboczek
2017-12-03 5:20 ` [Bloat] [Make-wifi-fast] " Bob McMahon
2017-12-03 10:35 ` Juliusz Chroboczek
2017-12-03 11:40 ` Jan Ceuleers
2017-12-03 13:57 ` Juliusz Chroboczek
2017-12-03 14:07 ` Mikael Abrahamsson
2017-12-03 19:53 ` Juliusz Chroboczek
2017-12-03 14:09 ` Ryan Mounce
2017-12-03 19:54 ` Juliusz Chroboczek
2017-12-03 20:14 ` Sebastian Moeller
2017-12-03 22:27 ` Dave Taht
2017-12-03 15:25 ` Robert Bradley
2017-12-04 3:44 ` Dave Taht
2017-12-04 14:38 ` David Collier-Brown
2017-12-04 15:44 ` Juliusz Chroboczek
2017-12-04 17:17 ` David Collier-Brown
2017-12-03 19:04 ` Bob McMahon
2017-12-01 21:17 ` Bob McMahon
2017-12-01 8:45 ` [Bloat] " Sebastian Moeller
2017-12-01 10:45 ` Luca Muscariello
2017-12-01 18:43 ` Dave Taht
2017-12-01 18:57 ` Luca Muscariello
2017-12-01 19:36 ` Dave Taht
2017-11-30 14:51 ` Neal Cardwell
2017-11-30 15:55 ` Eric Dumazet
2017-11-30 15:57 ` Neal Cardwell
2017-11-29 16:50 ` Sebastian Moeller
2017-12-12 19:27 ` Benjamin Cronce
2017-12-12 20:04 ` Dave Taht
2017-12-12 21:03 ` David Lang
2017-12-12 21:29 ` Jonathan Morton
2017-12-12 22:03 ` Jonathan Morton
2017-12-12 22:21 ` David Lang
[not found] ` <CAJq5cE3nfSQP0GCLjp=X0T-iHHgAs=YUCcr34e3ARgkrGZe-wg@mail.gmail.com>
2017-12-12 22:41 ` Jonathan Morton
2017-12-13 9:46 ` Mikael Abrahamsson
2017-12-13 10:03 ` Jonathan Morton
2017-12-13 12:11 ` Sebastian Moeller
2017-12-13 12:18 ` Jonathan Morton
2017-12-13 12:36 ` Sebastian Moeller
2017-12-13 12:39 ` Luca Muscariello
2017-11-29 18:21 ` Juliusz Chroboczek
2017-11-29 18:41 ` Dave Taht
2017-11-29 23:29 ` Steinar H. Gunderson
2017-11-29 23:59 ` Stephen Hemminger
2017-11-30 0:21 ` Eric Dumazet
2017-12-11 20:15 ` Benjamin Cronce
2017-11-29 18:28 ` Juliusz Chroboczek
2017-11-29 18:48 ` Dave Taht
2017-12-11 18:30 ` Jonathan Morton
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=1512057116.19682.14.camel@gmail.com \
--to=eric.dumazet@gmail.com \
--cc=bloat@lists.bufferbloat.net \
--cc=swmike@swm.pp.se \
/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