All of lore.kernel.org
 help / color / mirror / Atom feed
From: petrosilius <petrosilius@posteo.de>
To: Koen Vandeputte <koen.vandeputte@citymesh.com>,
	linux-wireless@vger.kernel.org
Subject: Re: [Bugreport] ath9k dynack not working/low performance on 5 & 10MHz Bandwidth
Date: Tue,  9 Nov 2021 11:55:51 +0000	[thread overview]
Message-ID: <79ae2f1b-66cb-9182-a639-8fbb6f1fabd9@posteo.de> (raw)
In-Reply-To: <a7e37fa2-5fe7-6a39-d72d-9e3723540331@citymesh.com>

Hi Koen,

did you find time to look further into this?

regards,

julian

On 13.07.21 16:34, Koen Vandeputte wrote:
>
> On 22.06.21 20:54, Petrosilius wrote:
>> On 22.06.21 14:03, Koen Vandeputte wrote:
>>> Thanks for confirming that.
>>>
>>> What would really help is a small table showing this:
>>>
>>> Real physical distance? (in m)
>>> ack_to reported while stressing the link:
>>>
>>> 20MHz: xx
>>> 10 MHz: yy
>>> 5 MHz: zz
>>>
>>> I'll try to simulate the issue somewhere in the next days.
>>>
>>>
>>> Please do note that ongoing effort is currently going on to improve
>>> dynack on lower distances.
>>>
>>> It was observed and reported by me to Lorenzo that ack_to was way
>>> higher than fixed settings when
>>> real distance is <6km
>>>
>>> Some testing patches were cooked and tested in the field last month
>>> covering long and short distances (1km up to 24km)
>>> and these are matching fixed distance ack_to very close now. (speeds
>>> using dynack were also higher than fixed settings)
>>> It's not finalized yet.
>>>
>>> Also do note that dynack only shows (any) benefit when having links 
>>> >3km
>>> Below that, timing jitter and processing time seems to have more
>>> influence on ack_to than actual distance.
>>>
>>> Regards,
>>>
>>> Koen
>>>
>> Here the testresults
>>
>> real physical distance: 1m
>>
>> BW: 20mhz
>> ackto: 50
>> iperf3
>> [ ID] Interval           Transfer     Bitrate         Retr
>> [  5]   0.00-10.00  sec  86.4 MBytes  72.4 Mbits/sec 0             
>> sender
>> [  5]   0.00-10.01  sec  86.0 MBytes  72.0 Mbits/sec
>> receiver
>>
>> BW: 5mhz
>> ackto: 50
>> iperf3
>> [ ID] Interval           Transfer     Bitrate         Retr
>> [  5]   0.00-10.01  sec  45.2 KBytes  37.0 Kbits/sec 14             
>> sender
>> [  5]   0.00-10.07  sec  5.66 KBytes  4.60 Kbits/sec
>> receiver
>>
>> BW: 10mhz
>> ackto: 50
>> iperf3
>> [ ID] Interval           Transfer     Bitrate         Retr
>> [  5]   0.00-10.00  sec   127 KBytes   104 Kbits/sec 30             
>> sender
>> [  5]   0.00-14.10  sec   107 KBytes  62.4 Kbits/sec
>> receiver
>>
>> Also longer iperf3 tests didnt change anything on this behaviour.
>>
>> After this test we were actually able to get the ack_to doing something
>> for 5mhz (ack_to 641 - ~12MBit iperf3) and 10mhz (ack_to 258 - ~14MBit
>> iperf3) by doing some random wifi-restarts (using openwrt 'wifi'
>> command) and reboots, but this is not really reproducible.
>>
>> We got the gutfeeling that there might be some issue reseting of the
>> dynack part when changing the bandwidths. This might explain, why for
>> the test above the ack_to doesnt change at all from the 50 of the 20Mhz
>> BW. Or is this normal behaviour that the ack_to doesnt change after a
>> bandwidth change?
>>
>> Another observation: Is it normal that 'iw dev' doesnt show 5 & 10 MHz,
>> but always 20 MHz? (We verified that we actually get 5/10MHz Channels by
>> checking visibility of the AP with other clients).
>>
>> To rule out a hardware problem: We used the same hardware successfully
>> on a 8km/20MHz link with dynack.
>>
>> Regards,
>>
>> Julian
>>
> I can simulate the issue.
>
> The problem is that IBSS starts at the highest value (to guarantee 
> connection), but it takes forever to get enough valid samples to 
> actually reach the optimal value through EWMA:
>
> [   48.060768] ath: phy0: ACK timeout 600 slottime 298
> [   51.155507] wlan0: Trigger new scan to find an IBSS to join
> [   53.104609] wlan0: Selected IBSS BSSID ac:c5:2a:a3:61:c9 based on 
> configured SSID
> [   53.160471] ath: phy0: rx sample 46297 [h 0-t 1]
> [   53.160522] ath: phy0: {74:4d:28:14:d9:94} tx sample 46163 [dur 
> 72][h 0-t 1]
> [   53.160533] ath: phy0: ack_ts 46297 st_ts 46163 st_dur 72 [0-0]
> [   53.160542] ath: phy0: 74:4d:28:14:d9:94 to 465 [62]
> [   53.160550] ath: phy0: ACK timeout 465 slottime 231
> [   53.165973] ath: phy0: rx sample 51368 [h 1-t 2]
> [   53.166027] ath: phy0: {74:4d:28:14:d9:94} tx sample 51098 [dur 
> 208][h 1-t 2]
> [   53.166038] ath: phy0: ack_ts 51368 st_ts 51098 st_dur 208 [1-1]
> [   53.166047] ath: phy0: 74:4d:28:14:d9:94 to 364 [62]
> [   53.170739] ath: phy0: rx sample 56568 [h 2-t 3]
> [   53.170791] ath: phy0: {74:4d:28:14:d9:94} tx sample 56222 [dur 
> 284][h 2-t 3]
> [   53.170801] ath: phy0: ack_ts 56568 st_ts 56222 st_dur 284 [2-2]
> [   53.170811] ath: phy0: 74:4d:28:14:d9:94 to 288 [62]
> [   54.169095] ath: phy0: rx sample 1054919 [h 3-t 4]
> [   54.169148] ath: phy0: {74:4d:28:14:d9:94} tx sample 1054598 [dur 
> 260][h 3-t 4]
> [   54.169159] ath: phy0: ack_ts 1054919 st_ts 1054598 st_dur 260 [3-3]
> [   54.169169] ath: phy0: 74:4d:28:14:d9:94 to 231 [61]
> [   54.173970] ath: phy0: rx sample 1059800 [h 4-t 5]
> [   54.174024] ath: phy0: {74:4d:28:14:d9:94} tx sample 1059511 [dur 
> 228][h 4-t 5]
> [   54.174035] ath: phy0: ack_ts 1059800 st_ts 1059511 st_dur 228 [4-4]
> [   54.174044] ath: phy0: 74:4d:28:14:d9:94 to 188 [61]
> ...
> [  326.925123] ath: phy0: ACK timeout 156 slottime 76
> ...
> [  653.145142] ath: phy0: ACK timeout 132 slottime 64
> ...
> [  926.928758] ath: phy0: ACK timeout 114 slottime 55
>
> (static optimal value is 28 .. so it will take a lot longer ..)
>
>
> Above log is with an iperf session running in the background. :-s
>
> Will look further into this ..
>
> Regards,
>
> Koen
>

      parent reply	other threads:[~2021-11-09 11:56 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-06-18 11:13 [Bugreport] ath9k dynack not working/low performance on 5 & 10MHz Bandwidth Petrosilius
2021-06-22  9:54 ` Koen Vandeputte
2021-06-22 10:12   ` Petrosilius
2021-06-22 10:40     ` Sebastian Gottschall
2021-06-22 11:54       ` Koen Vandeputte
2021-07-08 22:02       ` Peter Seiderer
2021-06-22 11:52     ` Koen Vandeputte
2021-06-22 11:53       ` Petrosilius
2021-06-22 12:03         ` Koen Vandeputte
2021-06-22 18:54           ` Petrosilius
2021-06-22 21:01             ` Koen Vandeputte
2021-07-13 14:34             ` Koen Vandeputte
2021-07-14  5:38               ` Sebastian Gottschall
2021-11-09 11:55               ` petrosilius [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=79ae2f1b-66cb-9182-a639-8fbb6f1fabd9@posteo.de \
    --to=petrosilius@posteo.de \
    --cc=koen.vandeputte@citymesh.com \
    --cc=linux-wireless@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.