netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* Throughput regression with `tcp: refine TSO autosizing`
@ 2015-01-29 11:48 Michal Kazior
  2015-01-29 13:14 ` Eric Dumazet
  0 siblings, 1 reply; 76+ messages in thread
From: Michal Kazior @ 2015-01-29 11:48 UTC (permalink / raw)
  To: eric.dumazet; +Cc: linux-wireless, Network Development, eyalpe

Hi,

I'm not subscribed to netdev list and I can't find the message-id so I
can't reply directly to the original thread `BW regression after "tcp:
refine TSO autosizing"`.

I've noticed a big TCP performance drop with ath10k
(drivers/net/wireless/ath/ath10k) on 3.19-rc5. Instead of 500mbps I
get 250mbps in my testbed.

After bisecting I ended up at `tcp: refine TSO autosizing`. Reverting
`tcp: refine TSO autosizing` and `tcp: Do not apply TSO segment limit
to non-TSO packets` (for conflict free reverts) fixes the problem.

My testing setup is as follows:

 a) ath10k AP, github.com/kvalo/ath/tree/master 3.19-rc5, w/ reverts
 b) ath10k STA connected to (a), github.com/kvalo/ath/tree/master
3.19-rc5, w/ reverts
 c) (b) w/o reverts

Devices are 3x3 (AP) and 2x2 (Client) and are RF cabled. 11ac@80MHz
2x2 has 866mbps modulation rate. In practice this should deliver
~700mbps of real UDP traffic.

Here are some numbers:

UDP: (b) -> (a): 672mbps
UDP: (a) -> (b): 687mbps
TCP: (b) -> (a): 526mbps
TCP: (a) -> (b): 500mbps

UDP: (c) -> (a): 669mbps*
UDP: (a) -> (c): 689mbps*
TCP: (c) -> (a): 240mbps**
TCP: (a) -> (c): 490mbps*

* no changes/within error margin
** the performance drop

I'm using iperf:
  UDP: iperf -i1 -s -u vs iperf -i1 -c XX -u -B 200M -P5 -t 20
  TCP: iperf -i1 -s vs iperf -i1 -c XX -P5 -t 20

Result values were obtained at the receiver side.

Iperf reports a few frames lost and out-of-order at each UDP test
start (during first second) but later has no packet loss and no
out-of-order. This shouldn't have any effect on a TCP session, right?

The device delivers batched up tx/rx completions (no way to change
that). I suppose this could be an issue for timing sensitive
algorithms. Also keep in mind 802.11n and 802.11ac devices have frame
aggregation windows so there's an inherent extra (and non-uniform)
latency when compared to, e.g. ethernet devices.

The driver doesn't have GRO. I have an internal patch which implements
it. It improves overall TCP traffic (more stable, up to 600mbps TCP
which is ~100mbps more than without GRO) but the TCP: (c) -> (a)
performance drop remains unaffected regardless.

I've tried applying stretch ACK patchset (v2) on both machines and
re-run the above tests. I got no measurable difference in performance.

I've also run these tests with iwlwifi 7260 (also a 2x2) as (b) and
(c). It didn't seem to be affected by the TSO patch at all (it runs at
~360mbps of TCP regardless of the TSO patch).

Any hints/ideas?


Michał

^ permalink raw reply	[flat|nested] 76+ messages in thread

end of thread, other threads:[~2015-03-31 11:08 UTC | newest]

Thread overview: 76+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-01-29 11:48 Throughput regression with `tcp: refine TSO autosizing` Michal Kazior
2015-01-29 13:14 ` Eric Dumazet
2015-01-30 10:29   ` Arend van Spriel
     [not found]     ` <54CB5D08.2070906-dY08KVG/lbpWk0Htik3J/w@public.gmane.org>
2015-01-30 13:19       ` Eric Dumazet
2015-01-30 13:47         ` Arend van Spriel
2015-01-30 14:37           ` Eric Dumazet
     [not found]           ` <CAA93jw5fqhz0Hiw74L2GXgtZ9JsMg+NtYydKxKzGDrvQcZn4hA@mail.gmail.com>
     [not found]             ` <CAA93jw7b0E9jjQYXrEPzjLLC9j8xNC0TFYXpWVtgFameJaNBdw@mail.gmail.com>
     [not found]               ` <1422741065.199624134@apps.rackspace.com>
     [not found]                 ` <CAPp0ZBb2nkA6Y0s=W0kw=zvyn0wi0NMBRsBCw_xcD61ScOmgQg@mail.gmail.com>
     [not found]                   ` <CAA_e5Z46Bu+zZZFzf_ejzA35Gw3g1_OG85yv6yd7MpbwZcE-nw@mail.gmail.com>
2015-02-01  8:45                     ` Fwd: " Dave Taht
2015-02-01 10:47                       ` Jonathan Morton
2015-02-01 14:43                         ` dpreed
2015-02-01 23:34                           ` Andrew McGregor
     [not found]                             ` <CAA_e5Z5PfimZeC5cqSk_xFpKOBeZ74htLeEdwtKieAYWJaEX+A-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-02-02  4:04                               ` [Cerowrt-devel] " Avery Pennarun
2015-02-02 15:25                                 ` Jim Gettys
2015-02-02  4:21                           ` Avery Pennarun
2015-02-02  7:07                             ` David Lang
     [not found]   ` <1422537297.21689.15.camel-XN9IlZ5yJG9HTL0Zs8A6p/gx64E7kk8eUsxypvmhUTTZJqsBc5GL+g@public.gmane.org>
2015-01-30 13:39     ` Michal Kazior
     [not found]       ` <CA+BoTQk2xT-8DqPuiiKG+kHAjLPrj8F9dLTb-rcGhvMq0u_2Qw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-01-30 14:40         ` Eric Dumazet
     [not found]           ` <1422628835.21689.95.camel-XN9IlZ5yJG9HTL0Zs8A6p/gx64E7kk8eUsxypvmhUTTZJqsBc5GL+g@public.gmane.org>
2015-02-02 10:27             ` Michal Kazior
2015-02-02 18:52               ` Eric Dumazet
2015-02-02 21:25                 ` Ben Greear
     [not found]                   ` <54CFEB46.3050006-my8/4N5VtI7c+919tysfdA@public.gmane.org>
2015-02-02 23:06                     ` Eric Dumazet
     [not found]                       ` <1422918363.21689.132.camel-XN9IlZ5yJG9HTL0Zs8A6p/gx64E7kk8eUsxypvmhUTTZJqsBc5GL+g@public.gmane.org>
2015-02-03  9:00                         ` Michal Kazior
     [not found]                 ` <1422903136.21689.114.camel-XN9IlZ5yJG9HTL0Zs8A6p/gx64E7kk8eUsxypvmhUTTZJqsBc5GL+g@public.gmane.org>
2015-02-03  1:18                   ` Eric Dumazet
2015-02-03 11:50                     ` Michal Kazior
     [not found]                       ` <CA+BoTQkMikA8wxm1ce2DkKhPB0HiKeAqT7f+sQ=91W40z=X0Rg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-02-03 14:27                         ` Eric Dumazet
     [not found]                           ` <1422973660.907.10.camel-XN9IlZ5yJG9HTL0Zs8A6p/gx64E7kk8eUsxypvmhUTTZJqsBc5GL+g@public.gmane.org>
2015-02-03 15:03                             ` Eric Dumazet
2015-02-04 11:35                           ` Michal Kazior
     [not found]                             ` <CA+BoTQmvUuFdfYF=wVMYxrf_nQZB5GCV=LvDZVvfs-3hAE4WKw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-02-04 11:57                               ` Eric Dumazet
2015-02-04 12:22                                 ` Michal Kazior
2015-02-04 12:38                                   ` Eric Dumazet
2015-02-04 12:53                                     ` Michal Kazior
2015-02-04 12:55                                       ` Johannes Berg
2015-02-04 13:16                                       ` Eric Dumazet
2015-02-04 13:29                                         ` Eric Dumazet
     [not found]                                           ` <1423056591.907.130.camel-XN9IlZ5yJG9HTL0Zs8A6p/gx64E7kk8eUsxypvmhUTTZJqsBc5GL+g@public.gmane.org>
2015-02-04 21:11                                             ` Eric Dumazet
     [not found]                                               ` <1423084303.31870.15.camel-XN9IlZ5yJG9HTL0Zs8A6p/gx64E7kk8eUsxypvmhUTTZJqsBc5GL+g@public.gmane.org>
2015-02-05  6:46                                                 ` Michal Kazior
     [not found]                                                   ` <CA+BoTQnwcmu=YbKB17JQb7ZPwGZoQS7zQ6nT-WEJHjnBX34QKA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-02-05 13:03                                                     ` Eric Dumazet
2015-02-05  8:38                                               ` Michal Kazior
2015-02-05 12:57                                                 ` Eric Dumazet
2015-02-05 13:19                                                   ` Eric Dumazet
     [not found]                                                     ` <1423142342.31870.49.camel-XN9IlZ5yJG9HTL0Zs8A6p/gx64E7kk8eUsxypvmhUTTZJqsBc5GL+g@public.gmane.org>
2015-02-05 13:33                                                       ` Eric Dumazet
2015-02-05 13:44                                                     ` Michal Kazior
     [not found]                                                       ` <CA+BoTQmcShK0U_cXvEOLY_8y7LH8x3taTgjcyMzv0MLVn4UtCA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-02-05 14:41                                                         ` Eric Dumazet
2015-02-05 17:10                                                           ` Eric Dumazet
2015-02-06  9:42                                                             ` Michal Kazior
     [not found]                                                               ` <CA+BoTQ=WaKLV=r6qWaWAEfyDr2pqMWpm4NDmnek92TEVndnxRQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-02-06 13:40                                                                 ` Eric Dumazet
     [not found]                                                                   ` <1423230001.31870.128.camel-XN9IlZ5yJG9HTL0Zs8A6p/gx64E7kk8eUsxypvmhUTTZJqsBc5GL+g@public.gmane.org>
2015-02-06 13:53                                                                     ` Eric Dumazet
2015-02-06 14:09                                                                       ` Michal Kazior
2015-02-09 13:47                                                                         ` Michal Kazior
2015-02-09 15:11                                                                           ` Eric Dumazet
2015-02-10 10:33                                                                             ` Michal Kazior
2015-02-10 12:54                                                                               ` Eric Dumazet
2015-02-10 13:05                                                                                 ` Eric Dumazet
2015-02-10 13:14                                                                               ` Eric Dumazet
2015-02-11  8:33                                                                                 ` Michal Kazior
2015-02-11 13:17                                                                                   ` Eric Dumazet
     [not found]                                                                                     ` <1423660672.4847.15.camel-XN9IlZ5yJG9HTL0Zs8A6p/gx64E7kk8eUsxypvmhUTTZJqsBc5GL+g@public.gmane.org>
2015-02-12  7:16                                                                                       ` Michal Kazior
2015-02-10 14:19                                                                               ` Johannes Berg
2015-02-10 15:09                                                                                 ` Eric Dumazet
     [not found]                                                                                 ` <1423577962.2215.2.camel-cdvu00un1VgdHxzADdlk8Q@public.gmane.org>
2015-02-11  8:57                                                                                   ` Michal Kazior
2015-02-12  7:48                                                                                     ` Michal Kazior
2015-02-12  8:33                                                                                       ` Dave Taht
     [not found]                                                                                       ` <CA+BoTQnxo-x94uVfErZO43jTowVcEMEt+7xDzoAGiR8fRDv=ug-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-02-24 10:24                                                                                         ` Johannes Berg
2015-02-24 10:30                                                                                           ` Johannes Berg
2015-02-24 10:59                                                                                             ` Johannes Berg
2015-03-31 11:08                                                                             ` Johannes Berg
2015-02-06 14:10                                                                       ` Eric Dumazet
2015-02-06 14:31                                                                         ` David Laight
     [not found]                                                                           ` <063D6719AE5E284EB5DD2968C1650D6D1CADF4EC-VkEWCZq2GCInGFn1LkZF6NBPR1lH4CV8@public.gmane.org>
2015-02-06 15:02                                                                             ` Eric Dumazet
2015-02-06 14:08                                                                     ` Michal Kazior
     [not found]                                                                       ` <CA+BoTQnEvF_mi68gyFns67oKC=8jEYdi3tLuW5dNj20KwUNs9A-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-02-06 14:35                                                                         ` Eric Dumazet
2015-02-06 17:48                                                                           ` Rick Jones
2015-02-05 14:48                                                         ` Eric Dumazet
2015-02-06  9:39                                                           ` Nicolas Cavallari
2015-02-05 19:50                                                       ` Dave Taht
     [not found]                                                         ` <CAA93jw45o-Tnt4hEYgc-wHJ26J11dDZLptO9ZONy0Jxp350S3A-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-02-06  9:57                                                           ` Michal Kazior
2015-02-03  8:44                 ` Michal Kazior

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).