Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 6 Mar 2012 13:09:11 +0200
From:      Johann Hugo <jhugo@meraka.csir.co.za>
To:        freebsd-wireless@freebsd.org
Subject:   Re: performance in adhoc mode
Message-ID:  <201203061309.11139.jhugo@meraka.csir.co.za>
In-Reply-To: <CAJ-VmonR9P_d%2Bm=Mmf41vH%2BGr5BNrovo8t0hC5c9pspprPaadA@mail.gmail.com>
References:  <201202281639.05140.jhugo@meraka.csir.co.za> <201202291151.10365.jhugo@meraka.csir.co.za> <CAJ-VmonR9P_d%2Bm=Mmf41vH%2BGr5BNrovo8t0hC5c9pspprPaadA@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
--Boundary-00=_XBfVPZ7MRU0LBax
Content-Type: text/plain;
  charset="iso-8859-1"
Content-Transfer-Encoding: 7bit

On Wednesday 29 February 2012 19:48:53 you wrote:
> Ok, long_retry means that the hardware had to try more times to get
> the frame out.
> 
> Either it's picking too high a rate, or the ACKs can't be heard.
Should be ok, they are one meter apart.

> 
> I wonder what changes in the MAC and driver when we flip on adhoc
> mode. I know it changes how the beacon queue is handled, I didn't
> think anything else changed..
> 
> Can you try forcing a lower rate on both ends (ifconfig wlanX
> ucastrate Y) and do your tests?

Are the parameters that one get with (ifconfig -m wlanX) still valid ?

See attached for tests. 

B.t.w. I get better performance with our old FreeBSD-7.2 distro in adhoc mode 
than with our new FreeBSD-9.0 distro on the same hardware.

FreeBSD-7.2
NodeA: iperf = 25.1 Mbits/sec
NodeB: iperf = 25.2 Mbits/sec

FreeBSD-9.0
NodeA: iperf = 20.5 Mbits/sec
NodeB: iperf =20.8 Mbits/sec

> 
> Please file a PR with this. :)

Will do so.

Regards
Johann

> 
> Thanks!
> 
> 
> Adrian
> 
> On 29 February 2012 01:51, Johann Hugo <jhugo@meraka.csir.co.za> wrote:
> > On Tuesday 28 February 2012 17:50:39 Adrian Chadd wrote:
> >> I've not looked into adhoc _at all_.
> > 
> > please_do
> > 
> >> I'd start by looking at the behaviour of the rate control code - do
> >> 
> >> 'sysctl dev.ath.X sample_stats=1' after you've done some traffic and
> >> 
> >> check dmesg.
> >> 
> >> 
> >> 
> >> Just ensure that the same rates are being used and the error rate is
> >> low.
> > 
> > The rates differ a bit and also some of the dev.ath.0 sysctl's.
> > dev.ath.0.stats.ast_tx_longretry is more than double in adhoc mode.
> > 
> > 
> > 
> > Johann

--Boundary-00=_XBfVPZ7MRU0LBax
Content-Type: text/plain;
  charset="utf-8";
  name="longretry.txt"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
	filename="longretry.txt"

ifconfig wlan0 ucastrate 54Mbps

NodeA:
iperf = 21.3 Mbits/sec
mesh-2893:~ # sysctl dev.ath.0.sample_stats=1
dev.ath.0.sample_stats: 0
[00:80:48:4f:28:93] refcnt 4 static_rix 0 ratemask 0x0
[ 250] cur rix 0 (6 Mb ) since switch: packets 0 ticks 0
[ 250] last sample 0 cur sample 0 packets sent 0
[ 250] packets since sample 0 sample tt 0
[1600] cur rix 0 (6 Mb ) since switch: packets 0 ticks 0
[1600] last sample 0 cur sample 0 packets sent 0
[1600] packets since sample 0 sample tt 0

[00:80:48:4f:28:70] refcnt 3 static_rix 7 ratemask 0xff
[ 250] cur rix 0 (6 Mb ) since switch: packets 0 ticks 0
[ 250] last sample 0 cur sample -1 packets sent 13008
[ 250] packets since sample 0 sample tt 0
[1600] cur rix 0 (6 Mb ) since switch: packets 0 ticks 0
[1600] last sample 0 cur sample -1 packets sent 0
[1600] packets since sample 0 sample tt 0
[54 Mb : 250]    13007:13006    ( 99%) T    14574 F    0 avg   463 last 1491
[54 Mb :1600]        1:0        (  0%) T       12 F    1 avg   644 last 1712
mesh-2893:~ # sysctl dev.ath.0.stats.ast_tx_longretry
dev.ath.0.stats.ast_tx_longretry: 1567

NodeB:
iperf = 21.7 Mbits/sec
mesh-2870:~ # sysctl dev.ath.0.sample_stats=1
dev.ath.0.sample_stats: 0
[00:80:48:4f:28:70] refcnt 4 static_rix 0 ratemask 0x0
[ 250] cur rix 0 (6 Mb ) since switch: packets 0 ticks 0
[ 250] last sample 0 cur sample 0 packets sent 0
[ 250] packets since sample 0 sample tt 0
[1600] cur rix 0 (6 Mb ) since switch: packets 0 ticks 0
[1600] last sample 0 cur sample 0 packets sent 0
[1600] packets since sample 0 sample tt 0

[00:80:48:4f:28:93] refcnt 3 static_rix 7 ratemask 0xff
[ 250] cur rix 0 (6 Mb ) since switch: packets 0 ticks 0
[ 250] last sample 0 cur sample -1 packets sent 13
[ 250] packets since sample 0 sample tt 0
[1600] cur rix 0 (6 Mb ) since switch: packets 0 ticks 0
[1600] last sample 0 cur sample -1 packets sent 18967
[1600] packets since sample 0 sample tt 0
[54 Mb : 250]       13:13       (100%) T       13 F    0 avg   444 last 2039
[54 Mb :1600]    18831:18830    ( 99%) T    20559 F    0 avg   681 last 2040
mesh-2870:~ # sysctl dev.ath.0.stats.ast_tx_longretry
dev.ath.0.stats.ast_tx_longretry: 1728

---------------------------------------------------------------------------------------
ifconfig wlan0 ucastrate 48Mbps

NodeA:
iperf = 21.1 Mbits/sec

dev.ath.0.sample_stats: 0
[00:80:48:4f:28:93] refcnt 4 static_rix 0 ratemask 0x0
[ 250] cur rix 0 (6 Mb ) since switch: packets 0 ticks 0
[ 250] last sample 0 cur sample 0 packets sent 0
[ 250] packets since sample 0 sample tt 0
[1600] cur rix 0 (6 Mb ) since switch: packets 0 ticks 0
[1600] last sample 0 cur sample 0 packets sent 0
[1600] packets since sample 0 sample tt 0

[00:80:48:4f:28:70] refcnt 3 static_rix 6 ratemask 0xff
[ 250] cur rix 0 (6 Mb ) since switch: packets 0 ticks 0
[ 250] last sample 0 cur sample -1 packets sent 12522
[ 250] packets since sample 0 sample tt 0
[1600] cur rix 0 (6 Mb ) since switch: packets 0 ticks 0
[1600] last sample 0 cur sample -1 packets sent 0
[1600] packets since sample 0 sample tt 0
[48 Mb : 250]    12522:12522    (100%) T    13980 F    0 avg   695 last 16081
mesh-2893:~ # sysctl dev.ath.0.stats.ast_tx_longretry
dev.ath.0.stats.ast_tx_longretry: 1476

NodeB:
iperf = 21.4 Mbits/sec

dev.ath.0.sample_stats: 0
[00:80:48:4f:28:93] refcnt 4 static_rix 0 ratemask 0x0
[ 250] cur rix 0 (6 Mb ) since switch: packets 0 ticks 0
[ 250] last sample 0 cur sample 0 packets sent 0
[ 250] packets since sample 0 sample tt 0
[1600] cur rix 0 (6 Mb ) since switch: packets 0 ticks 0
[1600] last sample 0 cur sample 0 packets sent 0
[1600] packets since sample 0 sample tt 0

[00:80:48:4f:28:70] refcnt 3 static_rix 6 ratemask 0xff
[ 250] cur rix 0 (6 Mb ) since switch: packets 0 ticks 0
[ 250] last sample 0 cur sample -1 packets sent 12522
[ 250] packets since sample 0 sample tt 0
[1600] cur rix 0 (6 Mb ) since switch: packets 0 ticks 0
[1600] last sample 0 cur sample -1 packets sent 0
[1600] packets since sample 0 sample tt 0
[48 Mb : 250]    12522:12522    (100%) T    13980 F    0 avg   695 last 16081
mesh-2870:~ # sysctl dev.ath.0.stats.ast_tx_longretry
dev.ath.0.stats.ast_tx_longretry: 1516
---------------------------------------------------------------------------------------

ifconfig wlan0 ucastrate 36Mbps
NodeA:
iperf = 18.0 Mbits/sec
^Cmesh-2893:~ #  sysctl dev.ath.0.sample_stats=1
dev.ath.0.sample_stats: 0
[00:80:48:4f:28:93] refcnt 4 static_rix 0 ratemask 0x0
[ 250] cur rix 0 (6 Mb ) since switch: packets 0 ticks 0
[ 250] last sample 0 cur sample 0 packets sent 0
[ 250] packets since sample 0 sample tt 0
[1600] cur rix 0 (6 Mb ) since switch: packets 0 ticks 0
[1600] last sample 0 cur sample 0 packets sent 0
[1600] packets since sample 0 sample tt 0

[00:80:48:4f:28:70] refcnt 3 static_rix 5 ratemask 0xff
[ 250] cur rix 0 (6 Mb ) since switch: packets 0 ticks 0
[ 250] last sample 0 cur sample -1 packets sent 10664
[ 250] packets since sample 0 sample tt 0
[1600] cur rix 0 (6 Mb ) since switch: packets 0 ticks 0
[1600] last sample 0 cur sample -1 packets sent 0
[1600] packets since sample 0 sample tt 0
[36 Mb : 250]    10664:10664    (100%) T    11876 F    0 avg   548 last 1505
mesh-2893:~ # sysctl dev.ath.0.stats.ast_tx_longretry
dev.ath.0.stats.ast_tx_longretry: 1240

NodeB:
iperf = 18.3 Mbits/sec
mesh-2870:~ #  sysctl dev.ath.0.sample_stats=1
dev.ath.0.sample_stats: 0
[00:80:48:4f:28:70] refcnt 4 static_rix 0 ratemask 0x0
[ 250] cur rix 0 (6 Mb ) since switch: packets 0 ticks 0
[ 250] last sample 0 cur sample 0 packets sent 0
[ 250] packets since sample 0 sample tt 0
[1600] cur rix 0 (6 Mb ) since switch: packets 0 ticks 0
[1600] last sample 0 cur sample 0 packets sent 0
[1600] packets since sample 0 sample tt 0

[00:80:48:4f:28:93] refcnt 3 static_rix 5 ratemask 0xff
[ 250] cur rix 0 (6 Mb ) since switch: packets 0 ticks 0
[ 250] last sample 0 cur sample -1 packets sent 5
[ 250] packets since sample 0 sample tt 0
[1600] cur rix 0 (6 Mb ) since switch: packets 0 ticks 0
[1600] last sample 0 cur sample -1 packets sent 15841
[1600] packets since sample 0 sample tt 0
[36 Mb : 250]        5:5        (100%) T        5 F    0 avg   464 last 1679
[36 Mb :1600]    15841:15841    (100%) T    17056 F    0 avg   878 last 1682
mesh-2870:~ # sysctl dev.ath.0.stats.ast_tx_longretry
dev.ath.0.stats.ast_tx_longretry: 1223


--Boundary-00=_XBfVPZ7MRU0LBax--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201203061309.11139.jhugo>