From: Kalle Valo <kvalo@kernel.org>
To: "Jérôme Pouiller" <jerome.pouiller@silabs.com>
Cc: linux-wireless@vger.kernel.org, linux-kernel@vger.kernel.org,
Felix Fietkau <nbd@nbd.name>,
Felipe Negrelli Wolter <felipe.negrelliwolter@silabs.com>,
Olivier Souloumiac <olivier.souloumiac@silabs.com>,
Alexandr Suslenko <suslenko.o@ajax.systems>
Subject: Re: [PATCH] wifi: wfx: fix case where rates are out of order
Date: Wed, 04 Oct 2023 13:29:31 +0300 [thread overview]
Message-ID: <87lecihe9g.fsf@kernel.org> (raw)
In-Reply-To: <20230928101048.5543-1-jerome.pouiller@silabs.com> ("Jérôme Pouiller"'s message of "Thu, 28 Sep 2023 12:10:48 +0200")
Jérôme Pouiller <jerome.pouiller@silabs.com> writes:
> From: Felipe Negrelli Wolter <felipe.negrelliwolter@silabs.com>
>
> When frames are sent over the air, the device always applies the data
> rates in descending order. The driver assumed Minstrel also provided
> rate in descending order.
>
> However, in some cases, Minstrel can a choose a fallback rate greater
> than the primary rate. In this case, the two rates was inverted, the
> device try highest rate first and we get many retries.
>
> Since the device always apply rates in descending order. The workaround
> is to drop rate when it higher than its predecessor in the rate list.
> Thus [ 4, 5, 3 ] become [ 4, 3 ].
>
> This patch has been tested in isolated room with a series of
> attenuators. Here are the Minstrel statistics with 80dBm of attenuation:
>
> Without the fix:
>
> best ____________rate__________ ____statistics___ _____last____ ______sum-of________
> mode guard # rate [name idx airtime max_tp] [avg(tp) avg(prob)] [retry|suc|att] [#success | #attempts]
> HT20 LGI 1 S MCS0 0 1477 5.6 5.2 82.7 3 0 0 3 4
> HT20 LGI 1 MCS1 1 738 10.6 0.0 0.0 0 0 0 0 1
> HT20 LGI 1 D MCS2 2 492 14.9 13.5 81.5 5 0 0 5 9
> HT20 LGI 1 C MCS3 3 369 18.8 17.6 84.3 5 0 0 76 96
> HT20 LGI 1 A P MCS4 4 246 25.4 22.4 79.5 5 0 0 11268 14026
> HT20 LGI 1 B S MCS5 5 185 30.7 19.7 57.7 5 8 9 3918 9793
> HT20 LGI 1 MCS6 6 164 33.0 0.0 0.0 5 0 0 6 102
> HT20 LGI 1 MCS7 7 148 35.1 0.0 0.0 0 0 0 0 44
>
> With the fix:
>
> best ____________rate__________ ____statistics___ _____last____ ______sum-of________
> mode guard # rate [name idx airtime max_tp] [avg(tp) avg(prob)] [retry|suc|att] [#success | #attempts]
> HT20 LGI 1 S MCS0 0 1477 5.6 1.8 28.6 1 0 0 1 5
> HT20 LGI 1 DP MCS1 1 738 10.6 9.7 82.6 4 0 0 14 34
> HT20 LGI 1 MCS2 2 492 14.9 9.2 55.4 5 0 0 52 77
> HT20 LGI 1 B S MCS3 3 369 18.8 15.6 74.9 5 1 1 417 554
> HT20 LGI 1 A MCS4 4 246 25.4 16.7 59.2 5 1 1 13812 17951
> HT20 LGI 1 C S MCS5 5 185 30.7 14.0 41.0 5 1 5 57 640
> HT20 LGI 1 MCS6 6 164 33.0 0.0 0.0 0 0 1 0 48
> HT20 LGI 1 S MCS7 7 148 35.1 0.0 0.0 0 0 0 0 36
>
> We can notice the device try now to send with lower rates (and high
> success rates). At the end, we measured 20-25% better throughput with
> this patch.
>
> Fixes: 9bca45f3d6924 "staging: wfx: allow to send 802.11 frames"
> Tested-by: Olivier Souloumiac <olivier.souloumiac@silabs.com>
> Tested-by: Alexandr Suslenko <suslenko.o@ajax.systems>
> Reported-by: Alexandr Suslenko <suslenko.o@ajax.systems>
> Co-developed-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
> Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
ERROR: Invalid format: Fixes: 9bca45f3d6924 "staging: wfx: allow to send 802.11 frames"
ERROR: Missing Signed-off-by: felipe.negrelliwolter@silabs.com
--
https://patchwork.kernel.org/project/linux-wireless/list/
https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches
prev parent reply other threads:[~2023-10-04 10:27 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-09-28 10:10 [PATCH] wifi: wfx: fix case where rates are out of order Jérôme Pouiller
2023-10-04 10:29 ` Kalle Valo [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=87lecihe9g.fsf@kernel.org \
--to=kvalo@kernel.org \
--cc=felipe.negrelliwolter@silabs.com \
--cc=jerome.pouiller@silabs.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-wireless@vger.kernel.org \
--cc=nbd@nbd.name \
--cc=olivier.souloumiac@silabs.com \
--cc=suslenko.o@ajax.systems \
/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.