From owner-freebsd-wireless@FreeBSD.ORG Tue Mar 6 11:09:15 2012 Return-Path: Delivered-To: freebsd-wireless@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 16CCE106564A for ; Tue, 6 Mar 2012 11:09:15 +0000 (UTC) (envelope-from jhugo@meraka.csir.co.za) Received: from marge.meraka.csir.co.za (marge.meraka.csir.co.za [IPv6:2001:4200:7000:3::1]) by mx1.freebsd.org (Postfix) with ESMTP id 076208FC1E for ; Tue, 6 Mar 2012 11:09:13 +0000 (UTC) Received: from jeep.localnet (unknown [IPv6:2001:4200:7000:3:223:aeff:fea7:a3c2]) by marge.meraka.csir.co.za (Postfix) with ESMTP id C7F37D0CC03 for ; Tue, 6 Mar 2012 13:09:11 +0200 (SAST) From: Johann Hugo To: freebsd-wireless@freebsd.org Date: Tue, 6 Mar 2012 13:09:11 +0200 User-Agent: KMail/1.13.7 (FreeBSD/9.0-RELEASE; KDE/4.7.3; amd64; ; ) References: <201202281639.05140.jhugo@meraka.csir.co.za> <201202291151.10365.jhugo@meraka.csir.co.za> In-Reply-To: X-KMail-Markup: true MIME-Version: 1.0 Message-Id: <201203061309.11139.jhugo@meraka.csir.co.za> Content-Type: Multipart/Mixed; boundary="Boundary-00=_XBfVPZ7MRU0LBax" X-Content-Filtered-By: Mailman/MimeDel 2.1.5 Subject: Re: performance in adhoc mode X-BeenThere: freebsd-wireless@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Discussions of 802.11 stack, tools device driver development." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 06 Mar 2012 11:09:15 -0000 --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 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--