Discussion:
[ath9k-devel] Anyone doing WiFi throughput tests?
Ben Greear
2012-05-26 03:17:46 UTC
Permalink
We've been doing some tests using Atheros stations and various APs. The max throughput
we've seen so far is about 237Mbps (received UDP payload on the stations).
(Open-Air, AP about 5 feet away, 3x3 MIMO, HT40, 5Ghz, etc).

We are still running lots of different permutations, but I am interested if
anyone else has any numbers to share (official or otherwise).

Thanks,
Ben
--
Ben Greear <***@candelatech.com>
Candela Technologies Inc http://www.candelatech.com
Sujith Manoharan
2012-05-26 03:24:16 UTC
Permalink
Post by Ben Greear
We've been doing some tests using Atheros stations and various APs. The max throughput
we've seen so far is about 237Mbps (received UDP payload on the stations).
(Open-Air, AP about 5 feet away, 3x3 MIMO, HT40, 5Ghz, etc).
We are still running lots of different permutations, but I am interested if
anyone else has any numbers to share (official or otherwise).
Which card/chip ?

With a XB112 card (3x3) in HT40 mode, 5Ghz, TX throughput (TCP) can reach 290 Mbps.
Sample iperf run:

[ 3] 28.0-29.0 sec 34.1 MBytes 286 Mbits/sec
[ 3] 29.0-30.0 sec 34.6 MBytes 290 Mbits/sec
[ 3] 30.0-31.0 sec 34.8 MBytes 292 Mbits/sec
[ 3] 31.0-32.0 sec 34.8 MBytes 292 Mbits/sec
[ 3] 32.0-33.0 sec 34.9 MBytes 293 Mbits/sec

Sujith
Joe Semler
2012-05-26 05:48:20 UTC
Permalink
Post by Sujith Manoharan
Post by Ben Greear
We've been doing some tests using Atheros stations and various APs. The max throughput
we've seen so far is about 237Mbps (received UDP payload on the stations).
(Open-Air, AP about 5 feet away, 3x3 MIMO, HT40, 5Ghz, etc).
We are still running lots of different permutations, but I am interested if
anyone else has any numbers to share (official or otherwise).
Which card/chip ?
With a XB112 card (3x3) in HT40 mode, 5Ghz, TX throughput (TCP) can reach 290 Mbps.
[ 3] 28.0-29.0 sec 34.1 MBytes 286 Mbits/sec
[ 3] 29.0-30.0 sec 34.6 MBytes 290 Mbits/sec
[ 3] 30.0-31.0 sec 34.8 MBytes 292 Mbits/sec
[ 3] 31.0-32.0 sec 34.8 MBytes 292 Mbits/sec
[ 3] 32.0-33.0 sec 34.9 MBytes 293 Mbits/sec
Do you use ath9k for that purpouse? I was thinking our driver is not able to operate MIMO.
Some changes that i missed?

JoeSemler
Post by Sujith Manoharan
Sujith
_______________________________________________
ath9k-devel mailing list
https://lists.ath9k.org/mailman/listinfo/ath9k-devel
Sujith Manoharan
2012-05-26 07:43:42 UTC
Permalink
Post by Joe Semler
Post by Sujith Manoharan
With a XB112 card (3x3) in HT40 mode, 5Ghz, TX throughput (TCP) can reach 290 Mbps.
[ 3] 28.0-29.0 sec 34.1 MBytes 286 Mbits/sec
[ 3] 29.0-30.0 sec 34.6 MBytes 290 Mbits/sec
[ 3] 30.0-31.0 sec 34.8 MBytes 292 Mbits/sec
[ 3] 31.0-32.0 sec 34.8 MBytes 292 Mbits/sec
[ 3] 32.0-33.0 sec 34.9 MBytes 293 Mbits/sec
Do you use ath9k for that purpouse? I was thinking our driver is not able to operate MIMO.
Some changes that i missed?
Yes, those numbers are with ath9k, with latest wireless-testing.

Sujith
Josef Semler
2012-05-26 07:55:46 UTC
Permalink
Post by Sujith Manoharan
Post by Joe Semler
Post by Sujith Manoharan
With a XB112 card (3x3) in HT40 mode, 5Ghz, TX throughput (TCP) can
reach 290 Mbps.
Post by Joe Semler
Post by Sujith Manoharan
[ 3] 28.0-29.0 sec 34.1 MBytes 286 Mbits/sec
[ 3] 29.0-30.0 sec 34.6 MBytes 290 Mbits/sec
[ 3] 30.0-31.0 sec 34.8 MBytes 292 Mbits/sec
[ 3] 31.0-32.0 sec 34.8 MBytes 292 Mbits/sec
[ 3] 32.0-33.0 sec 34.9 MBytes 293 Mbits/sec
Do you use ath9k for that purpouse? I was thinking our driver is not
able to operate MIMO.
Post by Joe Semler
Some changes that i missed?
Yes, those numbers are with ath9k, with latest wireless-testing.
OK, tnx Sujith, but that brings me to my next question acc. 2x2 or 3x3 on
OpenWRT-based devices like NanoStation M or AirBridge M.
Up to now only 1x2 or 1x3 was possible on this devices. Do we have
changings there too?

Joe
Sujith Manoharan
2012-05-26 11:28:39 UTC
Permalink
Post by Josef Semler
OK, tnx Sujith, but that brings me to my next question acc. 2x2 or 3x3 on
OpenWRT-based devices like NanoStation M or AirBridge M. Up to now only 1x2
or 1x3 was possible on this devices. Do we have changings there too?
Hm, am not sure about these devices. But, the number of streams is determined
based on the chip, and there is nothing that can be done to increase it. If
you have access, load the driver with the parameter 'debug=0x200' and check
dmesg - this should show the number of TX/RX streams.

Sujith
Felix Fietkau
2012-05-26 12:35:55 UTC
Permalink
Post by Sujith Manoharan
Post by Joe Semler
Post by Sujith Manoharan
With a XB112 card (3x3) in HT40 mode, 5Ghz, TX throughput (TCP)
can reach 290 Mbps.
Post by Joe Semler
Post by Sujith Manoharan
[ 3] 28.0-29.0 sec 34.1 MBytes 286 Mbits/sec
[ 3] 29.0-30.0 sec 34.6 MBytes 290 Mbits/sec
[ 3] 30.0-31.0 sec 34.8 MBytes 292 Mbits/sec
[ 3] 31.0-32.0 sec 34.8 MBytes 292 Mbits/sec
[ 3] 32.0-33.0 sec 34.9 MBytes 293 Mbits/sec
Do you use ath9k for that purpouse? I was thinking our driver is
not able to operate MIMO.
Post by Joe Semler
Some changes that i missed?
Yes, those numbers are with ath9k, with latest wireless-testing.
OK, tnx Sujith, but that brings me to my next question acc. 2x2 or 3x3
on OpenWRT-based devices like NanoStation M or AirBridge M.
Up to now only 1x2 or 1x3 was possible on this devices. Do we have
changings there too?
Why do you think that only 1x2 or 1x3 was possible on these devices? 2x2
and 3x3 has been working just fine for a long time now, and it's enabled
by default where supported by the hardware.

- Felix
Joe Semler
2012-05-26 17:15:37 UTC
Permalink
Hi Felix,
Post by Felix Fietkau
Post by Josef Semler
OK, tnx Sujith, but that brings me to my next question acc. 2x2 or 3x3
on OpenWRT-based devices like NanoStation M or AirBridge M.
Up to now only 1x2 or 1x3 was possible on this devices. Do we have
changings there too?
Why do you think that only 1x2 or 1x3 was possible on these devices? 2x2
and 3x3 has been working just fine for a long time now, and it's enabled
by default where supported by the hardware
Pickend this Info from The List that devices with openwrt are just transmitting at 1 stream but rec. at both. How can I change the settings? Also with uci or only with the iw-commands?
Tnx 4 support.

Joe
Post by Felix Fietkau
- Felix
Adrian Chadd
2012-05-26 17:50:44 UTC
Permalink
Hi,

If the device EEPROM states that it's a 2x2/3x3 device, it'll TX on
two/three streams.

If it's something like an AR9281 where it's physically a 1T2R stream
device, that's what it'll transmit/receive on by default.

If it's something like an AR9285 where it's physically a 1T1R stream
device with antenna diversity, that's also what you get.

If the device EEPROM lies though, well, that's a problem. :-)


Adrian
Josef Semler
2012-05-29 10:24:19 UTC
Permalink
Post by Adrian Chadd
Hi,
If the device EEPROM states that it's a 2x2/3x3 device, it'll TX on
two/three streams.
If it's something like an AR9281 where it's physically a 1T2R stream
device, that's what it'll transmit/receive on by default.
If it's something like an AR9285 where it's physically a 1T1R stream
device with antenna diversity, that's also what you get.
If the device EEPROM lies though, well, that's a problem. :-)
Installed OpenWRT für ubnt-nano on a Nanobridge. Well, NanoBridge should be
2x2 MIMO, but the device shows me AR7240 rev.2
Is this a a EEPROM-lie and how can I correct it?

Joe
Felix Fietkau
2012-05-29 10:58:39 UTC
Permalink
Post by Adrian Chadd
Hi,
If the device EEPROM states that it's a 2x2/3x3 device, it'll TX on
two/three streams.
If it's something like an AR9281 where it's physically a 1T2R stream
device, that's what it'll transmit/receive on by default.
If it's something like an AR9285 where it's physically a 1T1R stream
device with antenna diversity, that's also what you get.
If the device EEPROM lies though, well, that's a problem. :-)
Installed OpenWRT für ubnt-nano on a Nanobridge. Well, NanoBridge should
be 2x2 MIMO, but the device shows me AR7240 rev.2
Is this a a EEPROM-lie and how can I correct it?
AR7240 is the CPU, not the wifi chip.

- Felix
Felix Fietkau
2012-05-26 18:27:47 UTC
Permalink
Post by Joe Semler
Hi Felix,
Post by Felix Fietkau
Post by Josef Semler
OK, tnx Sujith, but that brings me to my next question acc. 2x2 or 3x3
on OpenWRT-based devices like NanoStation M or AirBridge M.
Up to now only 1x2 or 1x3 was possible on this devices. Do we have
changings there too?
Why do you think that only 1x2 or 1x3 was possible on these devices? 2x2
and 3x3 has been working just fine for a long time now, and it's enabled
by default where supported by the hardware
Pickend this Info from The List that devices with openwrt are just
transmitting at 1 stream but rec. at both. How can I change the
settings? Also with uci or only with the iw-commands?
You don't need to change anything, just use the defaults.
I have no idea what post from the list you're referring to, but here's a
piece of advice: It's not unheard of that sometimes people put wrong
things on the internet :)

- Felix
Ben Greear
2012-05-26 15:37:50 UTC
Permalink
Post by Sujith Manoharan
Post by Ben Greear
We've been doing some tests using Atheros stations and various APs. The max throughput
we've seen so far is about 237Mbps (received UDP payload on the stations).
(Open-Air, AP about 5 feet away, 3x3 MIMO, HT40, 5Ghz, etc).
We are still running lots of different permutations, but I am interested if
anyone else has any numbers to share (official or otherwise).
Which card/chip ?
We're using WPEA-127N. We have a dual-core Atom for one system, and
a quad-core i7 CPU (and two wifi NICs) in another system.. So far, the Atom with
single NIC is benchmarking better in some tests. We were only using one of
the NICs in the i7 for testing, but maybe there is still some interference
or maybe we just had bad antenna placement or something.

We've used various Asus and Netgear APs...haven't done throughput tests with
home-grown APs running Atheros NICs recently, but will do so next week.
Post by Sujith Manoharan
With a XB112 card (3x3) in HT40 mode, 5Ghz, TX throughput (TCP) can reach 290 Mbps.
What chipset or brand/model is this? I see that XB112 mentioned in the WPEA-127N
description, but maybe that is just a form-factor description?
Post by Sujith Manoharan
[ 3] 28.0-29.0 sec 34.1 MBytes 286 Mbits/sec
[ 3] 29.0-30.0 sec 34.6 MBytes 290 Mbits/sec
[ 3] 30.0-31.0 sec 34.8 MBytes 292 Mbits/sec
[ 3] 31.0-32.0 sec 34.8 MBytes 292 Mbits/sec
[ 3] 32.0-33.0 sec 34.9 MBytes 293 Mbits/sec
Can you offer any additional details on how you tested this? You are using the same
NIC for both AP and station?

Open-air connection?

How far away is AP?

I would like to try to reproduce this result, as it is significantly better
than what I'm seeing.

Are you doing any special AP tuning, like using short-guard-intervals
or similar? Care to post the wpa_supplicant and hostapd config files?

Thanks,
Ben
--
Ben Greear <***@candelatech.com>
Candela Technologies Inc http://www.candelatech.com
Sujith Manoharan
2012-05-26 16:24:44 UTC
Permalink
Post by Ben Greear
We're using WPEA-127N. We have a dual-core Atom for one system, and
a quad-core i7 CPU (and two wifi NICs) in another system.. So far, the Atom with
single NIC is benchmarking better in some tests. We were only using one of
the NICs in the i7 for testing, but maybe there is still some interference
or maybe we just had bad antenna placement or something.
Fiddling with antenna position/placement does help.
Post by Ben Greear
What chipset or brand/model is this? I see that XB112 mentioned in the WPEA-127N
description, but maybe that is just a form-factor description?
XB112 is the board and I am using an engineering sample. The WLAN chipset
is AR9380.
Post by Ben Greear
Can you offer any additional details on how you tested this? You are using the same
NIC for both AP and station?
Open-air connection?
How far away is AP?
I would like to try to reproduce this result, as it is significantly better
than what I'm seeing.
Are you doing any special AP tuning, like using short-guard-intervals
or similar? Care to post the wpa_supplicant and hostapd config files?
I am using a DB120 as AP which has dual radio - AR9340/AR9300. The setup is
standard:

STA --------------> AP -------------------> CONSOLE
wlan/OTA gig-ethernet


The AP runs an internal BSP/SDK build and is positioned about 4-5 feet from
the Station. As for the HT parameters, HT40 and short-GI is enabled in both
bands.

Sujith
Sujith Manoharan
2012-05-26 16:39:29 UTC
Permalink
Post by Sujith Manoharan
I am using a DB120 as AP which has dual radio - AR9340/AR9300. The setup is
STA --------------> AP -------------------> CONSOLE
wlan/OTA gig-ethernet
The AP runs an internal BSP/SDK build and is positioned about 4-5 feet from
the Station. As for the HT parameters, HT40 and short-GI is enabled in both
bands.
With UDP, these are the numbers I get:

Server: [ iperf -i1 -s -u -l 8K ]

[ 3] 29.0-30.0 sec 38.9 MBytes 327 Mbits/sec 0.246 ms 10/ 4993 (0.2%)
[ 3] 30.0-31.0 sec 38.6 MBytes 323 Mbits/sec 0.260 ms 34/ 4970 (0.68%)
[ 3] 31.0-32.0 sec 39.3 MBytes 330 Mbits/sec 0.212 ms 14/ 5045 (0.28%)
[ 3] 32.0-33.0 sec 37.2 MBytes 312 Mbits/sec 0.229 ms 15/ 4777 (0.31%)
[ 3] 33.0-34.0 sec 39.0 MBytes 327 Mbits/sec 0.253 ms 13/ 5002 (0.26%)

Client: [ iperf -i1 -c 172.16.0.10 -t 10000 -u -b 400M -l 8K ]

[ 3] 29.0-30.0 sec 39.0 MBytes 327 Mbits/sec
[ 3] 30.0-31.0 sec 38.9 MBytes 326 Mbits/sec
[ 3] 31.0-32.0 sec 39.4 MBytes 330 Mbits/sec
[ 3] 32.0-33.0 sec 37.3 MBytes 313 Mbits/sec
[ 3] 33.0-34.0 sec 39.1 MBytes 328 Mbits/sec


Sujith
Ben Greear
2012-05-27 15:08:44 UTC
Permalink
Post by Sujith Manoharan
Post by Sujith Manoharan
I am using a DB120 as AP which has dual radio - AR9340/AR9300. The setup is
Do you have a link to anyone selling this AP, or is it just an
engineering sample as well?

I didn't have much luck finding it in google... Is there a more specific
part number or manufacturer available?

I can't even find marketing type pages for AR9340, search results come up
empty at www.atheros.com :P
Post by Sujith Manoharan
Post by Sujith Manoharan
STA --------------> AP -------------------> CONSOLE
wlan/OTA gig-ethernet
The AP runs an internal BSP/SDK build and is positioned about 4-5 feet from
the Station. As for the HT parameters, HT40 and short-GI is enabled in both
bands.
Server: [ iperf -i1 -s -u -l 8K ]
[ 3] 29.0-30.0 sec 38.9 MBytes 327 Mbits/sec 0.246 ms 10/ 4993 (0.2%)
[ 3] 30.0-31.0 sec 38.6 MBytes 323 Mbits/sec 0.260 ms 34/ 4970 (0.68%)
[ 3] 31.0-32.0 sec 39.3 MBytes 330 Mbits/sec 0.212 ms 14/ 5045 (0.28%)
[ 3] 32.0-33.0 sec 37.2 MBytes 312 Mbits/sec 0.229 ms 15/ 4777 (0.31%)
[ 3] 33.0-34.0 sec 39.0 MBytes 327 Mbits/sec 0.253 ms 13/ 5002 (0.26%)
Client: [ iperf -i1 -c 172.16.0.10 -t 10000 -u -b 400M -l 8K ]
[ 3] 29.0-30.0 sec 39.0 MBytes 327 Mbits/sec
[ 3] 30.0-31.0 sec 38.9 MBytes 326 Mbits/sec
[ 3] 31.0-32.0 sec 39.4 MBytes 330 Mbits/sec
[ 3] 32.0-33.0 sec 37.3 MBytes 313 Mbits/sec
[ 3] 33.0-34.0 sec 39.1 MBytes 328 Mbits/sec
Those are nice results! I'll try WPEA-127N as AP and STA and see what I get.

If you have any suggestions for other commercially available NICs or APs to try,
please let me know.

Thanks,
Ben
--
Ben Greear <***@candelatech.com>
Candela Technologies Inc http://www.candelatech.com
Peter Stuge
2012-05-27 16:48:52 UTC
Permalink
Post by Ben Greear
I can't even find marketing type pages for AR9340
..
Post by Ben Greear
If you have any suggestions for other commercially available NICs
or APs to try
Tests which noone outside Atheros can replicate are obviously not
relevant to anyone outside Atheros.

On the other hand Atheros developers obviously do not work with
hardware which is already on the market. Those projects are finished
already.

Every hardware vendor who is using open source works exactly the same
way, the problem is obviously the gap between users and Atheros
developers when the code is less than perfect when hardware goes to
market at the end of each project.


//Peter
Adrian Chadd
2012-05-27 17:38:01 UTC
Permalink
Post by Peter Stuge
Tests which noone outside Atheros can replicate are obviously not
relevant to anyone outside Atheros.
On the other hand Atheros developers obviously do not work with
hardware which is already on the market. Those projects are finished
already.
The hardware we're talking about is a reference design, which is what
we in development tend to work with to begin with.

Customers do weird things to our stuff at times. :-)

iperf is a perfectly fine tool to test performance with. That's why
sujith was using it.



adrian
Adrian Chadd
2012-05-27 17:40:55 UTC
Permalink
Post by Ben Greear
Do you have a link to anyone selling this AP, or is it just an
engineering sample as well?
The board is an engineering sample but (a) customers and developers
can ask for them under NDA, (b) yes, openwrt developers have done this
and have the hardware, and (c) the chip is shipping as far as I'm
aware.

It's "just" a MIPS74k + AR9340 (3x3) + on-board AR9580 I think. I'll
have to double check. The wireless NIC side of things is pretty
standard though, so any Osprey NIC will be fine.
Post by Ben Greear
I can't even find marketing type pages for AR9340, search results come up
empty at www.atheros.com :P
[  3] 33.0-34.0 sec  39.0 MBytes   327 Mbits/sec   0.253 ms   13/ 5002
(0.26%)
Those are nice results!  I'll try WPEA-127N as AP and STA and see what I
get.
That's what you should be getting. I'd be really surprised if you didn't. :-)

nbd has said he'll look into it, so between Sujith and Felix I think
we're well covered for now.

Thanks for bringing this to everyone's attention Ben!


Adrian
Felix Fietkau
2012-05-27 18:14:05 UTC
Permalink
Post by Adrian Chadd
Post by Ben Greear
Do you have a link to anyone selling this AP, or is it just an
engineering sample as well?
The board is an engineering sample but (a) customers and developers
can ask for them under NDA, (b) yes, openwrt developers have done this
and have the hardware, and (c) the chip is shipping as far as I'm
aware.
It's "just" a MIPS74k + AR9340 (3x3) + on-board AR9580 I think. I'll
have to double check. The wireless NIC side of things is pretty
standard though, so any Osprey NIC will be fine.
Post by Ben Greear
I can't even find marketing type pages for AR9340, search results come up
empty at www.atheros.com :P
Post by Sujith Manoharan
[ 3] 33.0-34.0 sec 39.0 MBytes 327 Mbits/sec 0.253 ms 13/ 5002 (0.26%)
Those are nice results! I'll try WPEA-127N as AP and STA and see what I get.
That's what you should be getting. I'd be really surprised if you didn't. :-)
nbd has said he'll look into it, so between Sujith and Felix I think
we're well covered for now.
Thanks for bringing this to everyone's attention Ben!
I already committed some performance fixes in OpenWrt that bring UDP
performance over a WDS link between an AR9344+AR9380 (Atheros DB120) and
an AR7242+AR9380 (TP-Link TL-WR2543ND) up to about 310-320 Mbit/s, when
doing Tx on the DB120 side. Reverse direction is slower, because AR7242
isn't as powerful as the AR9344.

These fixes do not touch ath9k, I only tweaked the network stack to
avoid redundant copying/reallocation of skb data.

- Felix
Adrian Chadd
2012-05-27 23:15:34 UTC
Permalink
Sweet. Thanks a lot for chasing that up.

What's the oprofile output look like for the AR7242 when doing that?




Adrian
Felix Fietkau
2012-05-27 23:29:36 UTC
Permalink
Post by Adrian Chadd
Sweet. Thanks a lot for chasing that up.
What's the oprofile output look like for the AR7242 when doing that?
Haven't run oprofile on the AR7242 yet, but here's what 350Mbits/s UDP
ethernet-rx <-> wifi-tx traffic (bridged) looks like on AR9344:

CPU: MIPS 74K, speed 417 MHz (estimated)
Counted CYCLES events (0-0 Cycles) with a unit mask of 0x00 (No unit mask) count 10000
samples % app name symbol name
203986 6.8165 vmlinux ag71xx_poll
139395 4.6581 vmlinux __do_softirq
119259 3.9852 mac80211.ko invoke_tx_handlers
112990 3.7757 vmlinux ring_buffer_consume
89195 2.9806 mac80211.ko ieee80211_tx_status
69185 2.3119 vmlinux __copy_user
67684 2.2618 vmlinux __bzero
67014 2.2394 ath9k.ko ath_txq_schedule
65597 2.1920 vmlinux __slab_alloc.isra.60.constprop.63
65375 2.1846 vmlinux eth_type_trans
63594 2.1251 vmlinux r4k_dma_cache_inv
61121 2.0425 mac80211.ko ieee80211_subif_start_xmit
50797 1.6975 ath9k_hw.ko ar9003_set_txdesc
49942 1.6689 vmlinux __rmemcpy
48397 1.6173 ath9k.ko ath_tx_complete
46697 1.5605 vmlinux skb_release_data
45083 1.5065 vmlinux __netif_receive_skb
43928 1.4679 ath9k.ko ath_tx_complete_aggr.isra.21
43289 1.4466 vmlinux vlan_untag
41766 1.3957 mac80211.ko minstrel_ht_set_rate
41154 1.3752 ath9k.ko ath_tx_setup_buffer.isra.18
41136 1.3746 vmlinux pfifo_fast_dequeue
40500 1.3534 vmlinux __slab_free.isra.58
39498 1.3199 vmlinux __qdisc_run
39278 1.3125 ath9k.ko ath_tx_start
38789 1.2962 vmlinux r4k_dma_cache_wback_inv
38497 1.2864 ath9k.ko ath_tx_fill_desc
37308 1.2467 vmlinux kfree
36235 1.2109 vmlinux br_handle_frame
35178 1.1755 vmlinux skb_put
34532 1.1539 vmlinux __kmalloc_track_caller
31535 1.0538 vmlinux kmem_cache_alloc
31045 1.0374 vmlinux dev_queue_xmit
30953 1.0343 vmlinux vlan_do_receive
30151 1.0075 mac80211.ko __ieee80211_tx
30132 1.0069 vmlinux put_cpu_partial
29625 0.9900 vmlinux mips_dma_map_page
28214 0.9428 mac80211.ko ieee80211_tx_prepare
27059 0.9042 vmlinux br_fdb_update
25845 0.8637 oprofile.ko add_event_entry
25230 0.8431 vmlinux br_handle_frame_finish
24652 0.8238 vmlinux net_rx_action
22232 0.7429 mac80211.ko rate_control_get_rate
21840 0.7298 mac80211.ko minstrel_ht_get_rate
21591 0.7215 mac80211.ko ccmp_encrypt_skb
20313 0.6788 ath9k.ko ath9k_ps_restore
20055 0.6702 vmlinux r4k_wait_irqoff
19867 0.6639 vmlinux dev_hard_start_xmit
19220 0.6423 vmlinux __br_fdb_get
18673 0.6240 vmlinux ksize
17769 0.5938 vmlinux __alloc_skb
17687 0.5910 vmlinux kmem_cache_free
17605 0.5883 mac80211.ko minstrel_ht_tx_status
17112 0.5718 mac80211.ko ieee80211_select_queue
16926 0.5656 ath9k.ko ath_tx_complete_buf
16310 0.5450 vmlinux pfifo_fast_enqueue
16065 0.5368 vmlinux local_bh_enable
15586 0.5208 ath9k.ko ath_tx_update_baw.isra.14
14449 0.4828 vmlinux skb_push
14097 0.4711 oprofile.ko sync_buffer
13755 0.4596 vmlinux napi_complete
12793 0.4275 vmlinux mips_dma_unmap_page
12228 0.4086 vmlinux br_dev_queue_push_xmit
12212 0.4081 vmlinux br_forward
12149 0.4060 vmlinux __netdev_alloc_skb
11250 0.3759 vmlinux rcu_bh_qs
11153 0.3727 vmlinux atomic64_add_return
11123 0.3717 ath9k.ko ath9k_tx
11026 0.3685 ath9k.ko ath_debug_stat_tx
10763 0.3597 oprofile.ko op_cpu_buffer_read_entry
Ben Greear
2012-05-28 03:55:43 UTC
Permalink
Post by Adrian Chadd
Post by Ben Greear
Do you have a link to anyone selling this AP, or is it just an
engineering sample as well?
The board is an engineering sample but (a) customers and developers
can ask for them under NDA, (b) yes, openwrt developers have done this
and have the hardware, and (c) the chip is shipping as far as I'm
aware.
It's "just" a MIPS74k + AR9340 (3x3) + on-board AR9580 I think. I'll
have to double check. The wireless NIC side of things is pretty
standard though, so any Osprey NIC will be fine.
Ok, I think I understand. But, "Osprey" returns no useful results
that I can find, so it must be some internal code name for a project.

If you can be more specific about exactly what chipsets/NICs
this includes it would be useful for those of us without NDAs or
other internal Atheros/Qualcomm connections.

As far as shipping chipsets go (perhaps from the list below)
http://www.qca.qualcomm.com/technology/technology.php?nav1=47

What is considered the top-end Atheros chip for fastest/best 3x3 MIMO speeds?

Maybe 9390 (EW-DNXA-H1 for instance?) is expected to be better than 9380?

Thanks,
Ben
--
Ben Greear <***@candelatech.com>
Candela Technologies Inc http://www.candelatech.com
Adrian Chadd
2012-05-28 06:50:08 UTC
Permalink
Ah, Osprey is AR93xx series stuff. Well, not strictly speaking, but
that "family."

I'd have to go and check what the current state of all the latest 11n
chips are. Luis, Sujith and Felix would know better than I; I'm still
stuck in the land of AR92xx in FreeBSD (at least for the next few
weeks.)

Also, FreeBSD on 2x2 (AR9160) hostap:


TCP sta -> hostap:

[SUM] 0.0-10.0 sec 178 MBytes 149 Mbits/sec

UDP sta -> hostap:


[ ID] Interval Transfer Bandwidth Jitter Lost/Total Datagrams
[ 3] 0.0-10.1 sec 274 MBytes 228 Mbits/sec 0.135 ms 17045/212291 (8%)

TCP is around the expected spot, but I've seen it around 160MBit in
the past. I think I messed up something with BAR/TX scheduling. The
UDP RX is likely another scheduling issue; I seem to be occasionally
overflowing the RX descriptor list.

In any case, I'll fix it up and report back, just as a comparison point.



Adrian
Sujith Manoharan
2012-05-28 07:15:03 UTC
Permalink
Post by Adrian Chadd
Ah, Osprey is AR93xx series stuff. Well, not strictly speaking, but
that "family."
I'd have to go and check what the current state of all the latest 11n
chips are. Luis, Sujith and Felix would know better than I; I'm still
stuck in the land of AR92xx in FreeBSD (at least for the next few
weeks.)
ath9k has good support for the AR9003 family - AR9380 based devices, that is.
And the numbers that I posted were with a XB112, which uses AR9380.
Post by Adrian Chadd
[SUM] 0.0-10.0 sec 178 MBytes 149 Mbits/sec
[ ID] Interval Transfer Bandwidth Jitter Lost/Total Datagrams
[ 3] 0.0-10.1 sec 274 MBytes 228 Mbits/sec 0.135 ms 17045/212291 (8%)
TCP is around the expected spot, but I've seen it around 160MBit in
the past. I think I messed up something with BAR/TX scheduling. The
UDP RX is likely another scheduling issue; I seem to be occasionally
overflowing the RX descriptor list.
Well, 228 Mbps is much more reasonable. :)

Sujith
Adrian Chadd
2012-05-28 20:07:40 UTC
Permalink
Heh. 228MBit is more reasonable, but I'm getting it up around
235/240MBit at the present moment. I'm hitting queue overruns though,
so I think I've messed something up in the driver, or someone broke
the scheduler in weird/wonderful ways.

I'll let you know when it's at 250MBit again. :)



Adrian
Adrian Chadd
2012-05-31 19:24:17 UTC
Permalink
.. yup, I got it to 250MBit UDP. :-)

It turns out that (at least in FreeBSD-9), the scheduler and sleep
state behaviour when doing adaptive power save/sleep state (ie,
adaptive CPU speed changes, going into C2) is enough to negatively
impact my iperf and ath/net80211 taskqueue scheduling.

When I nail it back up to C1, fixed speed - everything is perfectly fine.

I'll go and do some further digging into this, but it's good to see
that I can squeeze decently high throughput out of the 2x2 NICs.



Adrian
Ben Greear
2012-05-31 22:31:43 UTC
Permalink
Post by Adrian Chadd
.. yup, I got it to 250MBit UDP. :-)
It turns out that (at least in FreeBSD-9), the scheduler and sleep
state behaviour when doing adaptive power save/sleep state (ie,
adaptive CPU speed changes, going into C2) is enough to negatively
impact my iperf and ath/net80211 taskqueue scheduling.
When I nail it back up to C1, fixed speed - everything is perfectly fine.
I'll go and do some further digging into this, but it's good to see
that I can squeeze decently high throughput out of the 2x2 NICs.
I'm getting right at 250Mbps of UDP payload received when
using a 2x2 AR9382 NIC (WPEA-121N) in a Lenovo X220i (with hacked white-listed BIOS).
AP is a 3x3 AR9380 NIC (WPEA_127N) in Atom based network appliance.

Open-air connection, about 3 feet apart. This is in
the 'download' direction: Wired to Station. HT-40 on 5Ghz.

The rates bounce around a bit...down to 240Mbps or so for a bit, then
back to 250Mbps. Might be some other interference around as this is
a relatively noisy environment...

Upload speed seems to be a constant 243Mbps..at least at this moment.

Kernel is 3.3.7+.


Thanks,
Ben
--
Ben Greear <***@candelatech.com>
Candela Technologies Inc http://www.candelatech.com
Ben Greear
2012-05-29 18:23:20 UTC
Permalink
Post by Sujith Manoharan
Server: [ iperf -i1 -s -u -l 8K ]
[ 3] 29.0-30.0 sec 38.9 MBytes 327 Mbits/sec 0.246 ms 10/ 4993 (0.2%)
[ 3] 30.0-31.0 sec 38.6 MBytes 323 Mbits/sec 0.260 ms 34/ 4970 (0.68%)
[ 3] 31.0-32.0 sec 39.3 MBytes 330 Mbits/sec 0.212 ms 14/ 5045 (0.28%)
[ 3] 32.0-33.0 sec 37.2 MBytes 312 Mbits/sec 0.229 ms 15/ 4777 (0.31%)
[ 3] 33.0-34.0 sec 39.0 MBytes 327 Mbits/sec 0.253 ms 13/ 5002 (0.26%)
We started testing with two AR9380 NICs today (one AP, the other STA).
I applied Felix's skb optimization patch, and the ath9k memleak fix patch
on top of 3.3.7+.

When we generate traffic using a modified version of pktgen,
the STA interface transmits at around 310Mbps for a minute or
two, but then the system dies of OOM (and maybe worse..having
trouble getting useful serial console log). It died much faster
before Felix's two patches were applied.

I disabled all of our network related buffer adjustments
(ie, no longer increasing tcp_wmem, etc), and it still
crashes.

The system has 2GB RAM, but it is 32-bit kernel, so not all
is available to the networking code... That said, the OOM
killer kills VNC and such.

Anyway, I'll try some memleak debugging to see if
I can find any leaks. It seems to me that we should
not actually OOM just by trying to transmit too fast
on a station interface :P

PS. If anyone knows how to make minicom ignore page
refreshes so that it doesn't obscure the last bit of
the crash log when BIOS starts up again, please let me know!

Thanks,
Ben
--
Ben Greear <***@candelatech.com>
Candela Technologies Inc http://www.candelatech.com
Christian Lamparter
2012-05-29 19:07:42 UTC
Permalink
Post by Ben Greear
We started testing with two AR9380 NICs today (one AP, the other STA).
I applied Felix's skb optimization patch, and the ath9k memleak fix patch
on top of 3.3.7+.
The system has 2GB RAM, but it is 32-bit kernel, so not all
is available to the networking code... That said, the OOM
killer kills VNC and such.
Anyway, I'll try some memleak debugging to see if
I can find any leaks. It seems to me that we should
not actually OOM just by trying to transmit too fast
on a station interface :P
well, there's that:
http://comments.gmane.org/gmane.linux.drivers.ath9k.devel/8233

It might not fix the bug, but it can save you time to confirm
that is not related to this particular skb leak.

Regards,
Chr
Ben Greear
2012-05-29 19:19:06 UTC
Permalink
Post by Christian Lamparter
Post by Ben Greear
We started testing with two AR9380 NICs today (one AP, the other STA).
I applied Felix's skb optimization patch, and the ath9k memleak fix patch
on top of 3.3.7+.
The system has 2GB RAM, but it is 32-bit kernel, so not all
is available to the networking code... That said, the OOM
killer kills VNC and such.
Anyway, I'll try some memleak debugging to see if
I can find any leaks. It seems to me that we should
not actually OOM just by trying to transmit too fast
on a station interface :P
http://comments.gmane.org/gmane.linux.drivers.ath9k.devel/8233
It might not fix the bug, but it can save you time to confirm
that is not related to this particular skb leak.
Ok, I will try this.

The leak this might fix is some ack logic up in mac80211?

Seems like we could also use some atomic counters to keep
track of number of outstanding mac80211-alocated skbs with this
and be worried if this number grows and grows?

Thanks,
Ben
--
Ben Greear <***@candelatech.com>
Candela Technologies Inc http://www.candelatech.com
Ben Greear
2012-05-30 00:06:23 UTC
Permalink
Post by Christian Lamparter
Post by Ben Greear
We started testing with two AR9380 NICs today (one AP, the other STA).
I applied Felix's skb optimization patch, and the ath9k memleak fix patch
on top of 3.3.7+.
The system has 2GB RAM, but it is 32-bit kernel, so not all
is available to the networking code... That said, the OOM
killer kills VNC and such.
Anyway, I'll try some memleak debugging to see if
I can find any leaks. It seems to me that we should
not actually OOM just by trying to transmit too fast
on a station interface :P
http://comments.gmane.org/gmane.linux.drivers.ath9k.devel/8233
It might not fix the bug, but it can save you time to confirm
that is not related to this particular skb leak.
I ported this to 3.3.7+ and applied it to my kernel
trees. It has tested out fine so far, though it did not
actually fix the problem I was having. That was not
a real leak, just always-growing pending queue length,
probably due to some issue with our version of pktgen.

It is mostly a port-by-hand type of thing since
there are lots of conflicts. Let me know if you'd
like me to post my version (and plz confirm your
signed-off-by).

Thanks,
Ben
--
Ben Greear <***@candelatech.com>
Candela Technologies Inc http://www.candelatech.com
Dave Taht
2012-05-30 03:22:33 UTC
Permalink
Post by Ben Greear
Post by Christian Lamparter
Post by Ben Greear
We started testing with two AR9380 NICs today (one AP, the other STA).
I applied Felix's skb optimization patch, and the ath9k memleak fix patch
on top of 3.3.7+.
The system has 2GB RAM, but it is 32-bit kernel, so not all
is available to the networking code...  That said, the OOM
killer kills VNC and such.
Anyway, I'll try some memleak debugging to see if
I can find any leaks.  It seems to me that we should
not actually OOM just by trying to transmit too fast
on a station interface :P
http://comments.gmane.org/gmane.linux.drivers.ath9k.devel/8233
It might not fix the bug, but it can save you time to confirm
that is not related to this particular skb leak.
I ported this to 3.3.7+ and applied it to my kernel
trees.  It has tested out fine so far, though it did not
actually fix the problem I was having.  That was not
a real leak, just always-growing pending queue length,
probably due to some issue with our version of pktgen.
It is mostly a port-by-hand type of thing since
there are lots of conflicts.  Let me know if you'd
like me to post my version (and plz confirm your
signed-off-by).
please! (and cc cerowrt-devel at lists.bufferbloat.net)

I'm hoping this string of patches will have some bearing on my own
bug: http://www.bufferbloat.net/issues/379

(while I'm trying to not write a line of code for a while, others on my
list are struggling with this)
Post by Ben Greear
Thanks,
Ben
--
Candela Technologies Inc  http://www.candelatech.com
--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
More majordomo info at  http://vger.kernel.org/majordomo-info.html
--
Dave Täht
SKYPE: davetaht
US Tel: 1-239-829-5608
http://www.bufferbloat.net
Ben Greear
2012-05-30 03:47:09 UTC
Permalink
Post by Dave Taht
Post by Ben Greear
Post by Christian Lamparter
Post by Ben Greear
We started testing with two AR9380 NICs today (one AP, the other STA).
I applied Felix's skb optimization patch, and the ath9k memleak fix patch
on top of 3.3.7+.
The system has 2GB RAM, but it is 32-bit kernel, so not all
is available to the networking code... That said, the OOM
killer kills VNC and such.
Anyway, I'll try some memleak debugging to see if
I can find any leaks. It seems to me that we should
not actually OOM just by trying to transmit too fast
on a station interface :P
http://comments.gmane.org/gmane.linux.drivers.ath9k.devel/8233
It might not fix the bug, but it can save you time to confirm
that is not related to this particular skb leak.
I ported this to 3.3.7+ and applied it to my kernel
trees. It has tested out fine so far, though it did not
actually fix the problem I was having. That was not
a real leak, just always-growing pending queue length,
probably due to some issue with our version of pktgen.
It is mostly a port-by-hand type of thing since
there are lots of conflicts. Let me know if you'd
like me to post my version (and plz confirm your
signed-off-by).
please! (and cc cerowrt-devel at lists.bufferbloat.net)
I'm hoping this string of patches will have some bearing on my own
bug: http://www.bufferbloat.net/issues/379
(while I'm trying to not write a line of code for a while, others on my
list are struggling with this)
For your bug, do you get any warnings on a serial console?

What does 'top' show? Ie, why is the load so high? Just
flogging the kernel with pkts shouldn't explode the load.

Maybe processes are blocked trying to take a lock..maybe
a networking lock?

Tried enabling lockdep in this scenario, and maybe the
hard/soft deadlock detection logic?

If you back off the traffic, does the system recover? If so,
maybe your CPU just can't handle the load....

If you think the mac80211 pending queues are backing up, cat out
/debug/ieee*/phy*/queues

That was the symptom I saw today with pktgen, but I think that is probably
more the fault of pktgen and may not be an issue with more normal traffic
flow.

Thanks,
Ben
--
Ben Greear <***@candelatech.com>
Candela Technologies Inc http://www.candelatech.com
Sujith Manoharan
2012-05-31 02:29:38 UTC
Permalink
This post might be inappropriate. Click to display it.
Christian Lamparter
2012-05-26 17:58:22 UTC
Permalink
Post by Ben Greear
We're using WPEA-127N. We have a dual-core Atom for one system, and
a quad-core i7 CPU (and two wifi NICs) in another system.. So far,
the Atom with single NIC is benchmarking better in some tests. We
were only using one of the NICs in the i7 for testing, but maybe
there is still some interference or maybe we just had bad antenna
placement or something.
We've used various Asus and Netgear APs...haven't done throughput
tests with home-grown APs running Atheros NICs recently, but will
do so next week.
Post by Sujith Manoharan
With a XB112 card (3x3) in HT40 mode, 5Ghz, TX throughput (TCP) can reach 290 Mbps.
What chipset or brand/model is this? I see that XB112 mentioned
in the WPEA-127N description, but maybe that is just a form-factor
description?
Well, Atheros made some nice presentations about that:
<http://wenku.baidu.com/view/ac0523f57c1cfad6195fa7f4.html>
take a look at slide 12. It has 11n technology (2x2 vs
3x3 ZF vs ML vs CC vs LDPC vs (TxBF) vs range vs tcp
throughput all on one diagramm)

Regards,
Chr
Zefir Kurtisi
2012-05-29 08:14:31 UTC
Permalink
Post by Christian Lamparter
<http://wenku.baidu.com/view/ac0523f57c1cfad6195fa7f4.html>
take a look at slide 12. It has 11n technology (2x2 vs
3x3 ZF vs ML vs CC vs LDPC vs (TxBF) vs range vs tcp
throughput all on one diagramm)
Well, that's a really helpful document to have as reference for our
throughput testing. Sadly, the second source Google knows
(http://wenku.it168.com/d_000141980.shtml) also requires to create an
account for downloading the PDF, which I fail after I missed to learn
Chinese in time ;(

QCA folks, any chance to post an official download link to these slides?


Cheers, Zefir
Peter Stuge
2012-05-29 10:09:07 UTC
Permalink
Post by Zefir Kurtisi
QCA folks, any chance to post an official download link to these slides?
I expect there will never be any such link. Maybe you could get it
for yourself if you sign an NDA. It's very secret stuff after all.


//Peter
Adrian Chadd
2012-05-26 17:56:05 UTC
Permalink
We've been doing some tests using Atheros stations and various APs.  The max
throughput
we've seen so far is about 237Mbps (received UDP payload on the stations).
(Open-Air, AP about 5 feet away, 3x3 MIMO, HT40, 5Ghz, etc).
We are still running lots of different permutations, but I am interested if
anyone else has any numbers to share (official or otherwise).
FWIW, FreeBSD was getting 270MBit/sec one-way UDP and 150MBit one-way
TCP out of AR9160/AR9280's late last year. I should re-run those tests
again now that I've fixed a bunch of things and see if I've regressed.
Those are 2T2R devices w/ a Routerstation Pro (AR7161) as the hostap.

At that stage I was maxing out the AR7161 CPU quite badly and filling
up all kinds of TX/RX paths, to the point that beacon transmission
stopped being reliable. But I haven't really sat down and run
performance measurements on MIPS so it's quite possible there's some
inefficiencies in FreeBSD that I can work around (to reduce the CPU
overhead, I was happy with the throughput.. :)

Sujith, would you mind testing out ath9k/openwrt on a DB120 and see if
you can get the same results as our internal LSDK builds?

Thanks,


Adrian
Sujith Manoharan
2012-05-27 02:05:33 UTC
Permalink
Post by Adrian Chadd
We've been doing some tests using Atheros stations and various APs.  The max
throughput
we've seen so far is about 237Mbps (received UDP payload on the stations).
(Open-Air, AP about 5 feet away, 3x3 MIMO, HT40, 5Ghz, etc).
We are still running lots of different permutations, but I am interested if
anyone else has any numbers to share (official or otherwise).
FWIW, FreeBSD was getting 270MBit/sec one-way UDP and 150MBit one-way
TCP out of AR9160/AR9280's late last year. I should re-run those tests
again now that I've fixed a bunch of things and see if I've regressed.
Those are 2T2R devices w/ a Routerstation Pro (AR7161) as the hostap.
270 Mbps with a 2-stream device ? That seems abnormally high. :)
Post by Adrian Chadd
At that stage I was maxing out the AR7161 CPU quite badly and filling
up all kinds of TX/RX paths, to the point that beacon transmission
stopped being reliable. But I haven't really sat down and run
performance measurements on MIPS so it's quite possible there's some
inefficiencies in FreeBSD that I can work around (to reduce the CPU
overhead, I was happy with the throughput.. :)
Sujith, would you mind testing out ath9k/openwrt on a DB120 and see if
you can get the same results as our internal LSDK builds?
Odd. I get low numbers with a DB120 running OpenWRT (git HEAD).

TCP TX - ~260 Mbps.
TCP RX - ~160 Mbps.

UDP RX - ~240 Mbps.
UDP TX - iperf borks and doesn't display anything.

The load seems to be a bit high (average: 1.92, 1.06, 0.61 ) and the
console becomes laggy.

Maybe
Sujith Manoharan
2012-05-27 02:09:28 UTC
Permalink
Post by Sujith Manoharan
Odd. I get low numbers with a DB120 running OpenWRT (git HEAD).
TCP TX - ~260 Mbps.
TCP RX - ~160 Mbps.
UDP RX - ~240 Mbps.
UDP TX - iperf borks and doesn't display anything.
The load seems to be a bit high (average: 1.92, 1.06, 0.61 ) and the
console becomes laggy.
Maybe
Huh.

Now that I have added "(setq vm-confirm-mail-send t)" to my .emacs, I'll
finish the email. :)

Maybe support for DB120 is not complete yet - but am not sure.

Sujith
Ben Greear
2012-05-27 02:16:14 UTC
Permalink
Post by Sujith Manoharan
Odd. I get low numbers with a DB120 running OpenWRT (git HEAD).
TCP TX - ~260 Mbps.
TCP RX - ~160 Mbps.
UDP RX - ~240 Mbps.
UDP TX - iperf borks and doesn't display anything.
Maybe NAT won't let it through, if this is coming downstream?

For that matter, from what perspective is the TX or RX?

Thanks,
Ben
--
Ben Greear <***@candelatech.com>
Candela Technologies Inc http://www.candelatech.com
Sujith Manoharan
2012-05-27 02:23:10 UTC
Permalink
Post by Ben Greear
Post by Sujith Manoharan
Odd. I get low numbers with a DB120 running OpenWRT (git HEAD).
TCP TX - ~260 Mbps.
TCP RX - ~160 Mbps.
UDP RX - ~240 Mbps.
UDP TX - iperf borks and doesn't display anything.
Maybe NAT won't let it through, if this is coming downstream?
Ah yes, OpenWRT has default iptables rules - I'll check.
Post by Ben Greear
For that matter, from what perspective is the TX or RX?
I was using the ath9k station as the test unit, so:

STA->AP is TX.
AP->STA is RX.

Sujith
Felix Fietkau
2012-05-27 11:30:03 UTC
Permalink
Post by Sujith Manoharan
Post by Sujith Manoharan
Odd. I get low numbers with a DB120 running OpenWRT (git HEAD).
TCP TX - ~260 Mbps.
TCP RX - ~160 Mbps.
UDP RX - ~240 Mbps.
UDP TX - iperf borks and doesn't display anything.
The load seems to be a bit high (average: 1.92, 1.06, 0.61 ) and the
console becomes laggy.
Maybe
Huh.
Now that I have added "(setq vm-confirm-mail-send t)" to my .emacs, I'll
finish the email. :)
Maybe support for DB120 is not complete yet - but am not sure.
I will look into it.

- Felix
Adrian Chadd
2012-05-27 12:32:08 UTC
Permalink
DB120 (wasp+osprey) should be supported. :-)


Adrian
Adrian Chadd
2012-05-27 12:31:40 UTC
Permalink
Post by Sujith Manoharan
Post by Adrian Chadd
FWIW, FreeBSD was getting 270MBit/sec one-way UDP and 150MBit one-way
TCP out of AR9160/AR9280's late last year. I should re-run those tests
again now that I've fixed a bunch of things and see if I've regressed.
Those are 2T2R devices w/ a Routerstation Pro (AR7161) as the hostap.
270 Mbps with a 2-stream device ? That seems abnormally high. :)
The 40MHz/MCS15/SGI PHY rate is "300MBit", so I was expecting to get
around 250MBit. That was pretty easy. 270MBit was kind of scary and
showed all kinds of broken corner cases.

I'll go and try FreeBSD-HEAD again with all the lock debugging
disabled and post results. It's quite possible that I'm
mis-remembering. :)



Adrian
Stephen Donecker
2012-06-15 21:08:12 UTC
Permalink
To all,
Post by Adrian Chadd
FWIW, FreeBSD was getting 270MBit/sec one-way UDP and 150MBit one-way
TCP out of AR9160/AR9280's late last year. I should re-run those tests
again now that I've fixed a bunch of things and see if I've regressed.
Those are 2T2R devices w/ a Routerstation Pro (AR7161) as the hostap.
At that stage I was maxing out the AR7161 CPU quite badly and filling
up all kinds of TX/RX paths, to the point that beacon transmission
stopped being reliable. But I haven't really sat down and run
performance measurements on MIPS so it's quite possible there's some
inefficiencies in FreeBSD that I can work around (to reduce the CPU
overhead, I was happy with the throughput..
I have been running iperf tests on some AR9160/AR9280's (Ubiquity
AR9220) on Routerstation's (AR7161) running openwrt. In adhoc mode I am
getting 100Mbps UDP one-way and 63Mbps TCP one-way. Obviously this is
quite a difference from Adrian's measurements.

Checking the various /proc/net/ files I discovered that the sender is
having a lot of SndBufErrors.

Can anyone tell me how to track down the source of these errors/drops? I
have CONFIG_ATH9K_DEBUG enabled. How can I see into the various
queues/buffers in the network stack to see where the problem resides?
Any other advice on tracking down this problem?

Thanks in advance,

-Stephen
Adrian Chadd
2012-06-16 21:03:26 UTC
Permalink
I have been running iperf tests on some AR9160/AR9280's (Ubiquity AR9220) on
Routerstation's (AR7161) running openwrt. In adhoc mode I am getting 100Mbps
UDP one-way and 63Mbps TCP one-way. Obviously this is quite a difference
from Adrian's measurements.
Eek! Yes, the hardware and NIC is capable of so uch more than that.
Checking the various /proc/net/ files I discovered that the sender is having
a lot of SndBufErrors.
That's a good starting point.
Can anyone tell me how to track down the source of these errors/drops? I
have CONFIG_ATH9K_DEBUG enabled. How can I see into the various
queues/buffers in the network stack to see where the problem resides? Any
other advice on tracking down this problem?
Hi,

I'd suggest opening up a PR at the kernel.org bugzilla and adding as
much debugging information as you can.

Thanks,


Adrian
Stephen Donecker
2012-06-20 02:20:06 UTC
Permalink
Adrian,
Post by Adrian Chadd
Checking the various /proc/net/ files I discovered that the sender is having
a lot of SndBufErrors.
That's a good starting point.
I was able to eliminate the SndbuffErrors in /proc/net/snmp by
increasing the ifconfig txqueuelen. However I am still only getting
100Mbps UDP one-way.

-Stephen

Loading...