From: Peter Seiderer <ps.report@gmx.net>
To: "Toke Høiland-Jørgensen" <toke@toke.dk>
Cc: linux-wireless@vger.kernel.org, Kalle Valo <kvalo@kernel.org>,
"David S . Miller" <davem@davemloft.net>,
Jakub Kicinski <kuba@kernel.org>, Paolo Abeni <pabeni@redhat.com>,
Johannes Berg <johannes@sipsolutions.net>,
netdev@vger.kernel.org, linux-kernel@vger.kernel.org,
Felix Fietkau <nbd@nbd.name>
Subject: Re: [PATCH v1 2/2] mac80211: minstrel_ht: fill all requested rates
Date: Mon, 4 Apr 2022 23:25:12 +0200 [thread overview]
Message-ID: <20220404232512.4fdd7eb9@gmx.net> (raw)
In-Reply-To: <87fsmseml7.fsf@toke.dk>
Hello Toke, Felix,
On Mon, 04 Apr 2022 20:21:24 +0200, Toke Høiland-Jørgensen <toke@toke.dk> wrote:
> +Felix
>
> Peter Seiderer <ps.report@gmx.net> writes:
>
> > Fill all requested rates (in case of ath9k 4 rate slots are
> > available, so fill all 4 instead of only 3), improves throughput in
> > noisy environment.
>
> How did you test this? Could you quantify the gains in throughput you saw?
Investigating some performance degradation of a wifi system original with ath5k
cards using a legacy kernel and madwifi driver compared against the
performance using a ath9k card running IBSS mode over long distance/with
additional amplifier and using iperf for measurement...
With the ath5k cards under bad conditions the throughput is going down below
10 Mbits/s but with stable throughput..., with the ath9k card and the exact same
setup there are short periods with good throughput values and periods up to 10-15
seconds with 0 Mbits/s...
The actual in-door/laboratory test setup is a wired connection between the
two wifi systems (with fixed attenuators in between) and an adjustable noise/
disturb signal induced by a signal generator...
Without this patch the 0 Mbits/s periods from the field test are reproducible,
with this patch applied we see a more or less stable throughput of 1-5 Mbits/s...
Regards,
Peter
>
> -Toke
>
> > Signed-off-by: Peter Seiderer <ps.report@gmx.net>
> > ---
> > net/mac80211/rc80211_minstrel_ht.c | 14 +++++++-------
> > 1 file changed, 7 insertions(+), 7 deletions(-)
> >
> > diff --git a/net/mac80211/rc80211_minstrel_ht.c b/net/mac80211/rc80211_minstrel_ht.c
> > index 9c6ace858107..cd6a0f153688 100644
> > --- a/net/mac80211/rc80211_minstrel_ht.c
> > +++ b/net/mac80211/rc80211_minstrel_ht.c
> > @@ -1436,17 +1436,17 @@ minstrel_ht_update_rates(struct minstrel_priv *mp, struct minstrel_ht_sta *mi)
> > /* Start with max_tp_rate[0] */
> > minstrel_ht_set_rate(mp, mi, rates, i++, mi->max_tp_rate[0]);
> >
> > - if (mp->hw->max_rates >= 3) {
> > - /* At least 3 tx rates supported, use max_tp_rate[1] next */
> > - minstrel_ht_set_rate(mp, mi, rates, i++, mi->max_tp_rate[1]);
> > - }
> > + /* Fill up remaining, keep one entry for max_probe_rate */
> > + for (; i < (mp->hw->max_rates - 1); i++)
> > + minstrel_ht_set_rate(mp, mi, rates, i, mi->max_tp_rate[i]);
> >
> > - if (mp->hw->max_rates >= 2) {
> > + if (i < mp->hw->max_rates)
> > minstrel_ht_set_rate(mp, mi, rates, i++, mi->max_prob_rate);
> > - }
> > +
> > + if (i < IEEE80211_TX_RATE_TABLE_SIZE)
> > + rates->rate[i].idx = -1;
> >
> > mi->sta->max_rc_amsdu_len = minstrel_ht_get_max_amsdu_len(mi);
> > - rates->rate[i].idx = -1;
> > rate_control_set_rates(mp->hw, mi->sta, rates);
> > }
> >
> > --
> > 2.35.1
next prev parent reply other threads:[~2022-04-04 21:52 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-04-02 15:30 [PATCH v1 1/2] ath9k: fix ath_get_rate_txpower() to respect the rate list end tag Peter Seiderer
2022-04-02 15:30 ` [PATCH v1 2/2] mac80211: minstrel_ht: fill all requested rates Peter Seiderer
2022-04-04 18:21 ` Toke Høiland-Jørgensen
2022-04-04 21:25 ` Peter Seiderer [this message]
2022-04-04 18:19 ` [PATCH v1 1/2] ath9k: fix ath_get_rate_txpower() to respect the rate list end tag Toke Høiland-Jørgensen
2022-04-04 20:52 ` Peter Seiderer
2022-04-05 19:05 ` Toke Høiland-Jørgensen
2022-04-05 20:27 ` Toke Høiland-Jørgensen
2022-04-12 13:12 ` Kalle Valo
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=20220404232512.4fdd7eb9@gmx.net \
--to=ps.report@gmx.net \
--cc=davem@davemloft.net \
--cc=johannes@sipsolutions.net \
--cc=kuba@kernel.org \
--cc=kvalo@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-wireless@vger.kernel.org \
--cc=nbd@nbd.name \
--cc=netdev@vger.kernel.org \
--cc=pabeni@redhat.com \
--cc=toke@toke.dk \
/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.