[Cerowrt-devel] looking over ampdu stats
dave.taht at gmail.com
Sun Jan 19 22:38:09 EST 2014
On Sun, Jan 19, 2014 at 10:27 PM, Sujith Manoharan <sujith at msujith.org> wrote:
> Dave Taht wrote:
>> in my tests, we almost never see more than 2 AMPDUs stacked up. (just
>> running netperf, not rrul).
> 2 is the minimum queue depth to aggregate packets. From ath9k.h:
> #define ATH_AGGR_MIN_QDEPTH 2
>> This could be the fault of the client device I'm using...
> This is not a bug with the client.
Gotcha. I went later (at felix's urging) to look at the rc_stats
and that showed some decent averages for the actual number of
packets in the AMPDU. Never managed to get it much above 11,
regardless of what I set be_qlen to...
>> cat /sys/kernel/debug/ieee80211/phy1/ath9k/queues
>> (note: have set the default be_qlen to the default here)
>> (VO): qnum: 0 qdepth: 0 ampdu-depth: 0 pending: 0 stopped: 0
>> (VI): qnum: 1 qdepth: 0 ampdu-depth: 0 pending: 0 stopped: 0
>> (BE): qnum: 2 qdepth: 3 ampdu-depth: 2 pending: 60 stopped: 0
>> (BK): qnum: 3 qdepth: 0 ampdu-depth: 0 pending: 0 stopped: 0
>> (CAB): qnum: 8 qdepth: 0 ampdu-depth: 0 pending: 0 stopped: 0
> qlen will not affect the minimum aggregate threshold, so adjusting
> be_qlen will not affect aggregation.
Well, it sort of does (or used to) in that cero holds this value low (12)
to minimize latency. While this costs some throughput it seems to help
in low rate situations.
Fixing bufferbloat with cerowrt: http://www.teklibre.com/cerowrt/subscribe.html
More information about the Cerowrt-devel