lkml.org 
[lkml]   [2022]   [Jun]   [7]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.17 066/772] mac80211: minstrel_ht: fix where rate stats are stored (fixes debugfs output)
    Date
    From: Peter Seiderer <ps.report@gmx.net>

    [ Upstream commit 5c6dd7bd569b54c0d2904125d7366aa93f077f67 ]

    Using an ath9k card the debugfs output of minstrel_ht looks like the following
    (note the zero values for the first four rates sum-of success/attempts):

    best ____________rate__________ ____statistics___ _____last____ ______sum-of________
    mode guard # rate [name idx airtime max_tp] [avg(tp) avg(prob)] [retry|suc|att] [#success | #attempts]
    OFDM 1 DP 6.0M 272 1640 5.2 3.1 53.8 3 0 0 0 0
    OFDM 1 C 9.0M 273 1104 7.7 4.6 53.8 4 0 0 0 0
    OFDM 1 B 12.0M 274 836 10.0 6.0 53.8 4 0 0 0 0
    OFDM 1 A S 18.0M 275 568 14.3 8.5 53.8 5 0 0 0 0
    OFDM 1 S 24.0M 276 436 18.1 0.0 0.0 5 0 1 80 1778
    OFDM 1 36.0M 277 300 24.9 0.0 0.0 0 0 1 0 107
    OFDM 1 S 48.0M 278 236 30.4 0.0 0.0 0 0 0 0 75
    OFDM 1 54.0M 279 212 33.0 0.0 0.0 0 0 0 0 72

    Total packet count:: ideal 16582 lookaround 885
    Average # of aggregated frames per A-MPDU: 1.0

    Debugging showed that the rate statistics for the first four rates where
    stored in the MINSTREL_CCK_GROUP instead of the MINSTREL_OFDM_GROUP because
    in minstrel_ht_get_stats() the supported check was not honoured as done in
    various other places, e.g net/mac80211/rc80211_minstrel_ht_debugfs.c:

    74 if (!(mi->supported[i] & BIT(j)))
    75 continue;

    With the patch applied the output looks good:

    best ____________rate__________ ____statistics___ _____last____ ______sum-of________
    mode guard # rate [name idx airtime max_tp] [avg(tp) avg(prob)] [retry|suc|att] [#success | #attempts]
    OFDM 1 D 6.0M 272 1640 5.2 5.2 100.0 3 0 0 1 1
    OFDM 1 C 9.0M 273 1104 7.7 7.7 100.0 4 0 0 38 38
    OFDM 1 B 12.0M 274 836 10.0 9.9 89.5 4 2 2 372 395
    OFDM 1 A P 18.0M 275 568 14.3 14.3 97.2 5 52 53 6956 7181
    OFDM 1 S 24.0M 276 436 18.1 0.0 0.0 0 0 1 6 163
    OFDM 1 36.0M 277 300 24.9 0.0 0.0 0 0 1 0 35
    OFDM 1 S 48.0M 278 236 30.4 0.0 0.0 0 0 0 0 38
    OFDM 1 S 54.0M 279 212 33.0 0.0 0.0 0 0 0 0 38

    Total packet count:: ideal 7097 lookaround 287
    Average # of aggregated frames per A-MPDU: 1.0

    Signed-off-by: Peter Seiderer <ps.report@gmx.net>
    Link: https://lore.kernel.org/r/20220404165414.1036-1-ps.report@gmx.net
    Signed-off-by: Johannes Berg <johannes.berg@intel.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    net/mac80211/rc80211_minstrel_ht.c | 3 +++
    1 file changed, 3 insertions(+)

    diff --git a/net/mac80211/rc80211_minstrel_ht.c b/net/mac80211/rc80211_minstrel_ht.c
    index 9c3b7fc377c1..50cce990784f 100644
    --- a/net/mac80211/rc80211_minstrel_ht.c
    +++ b/net/mac80211/rc80211_minstrel_ht.c
    @@ -362,6 +362,9 @@ minstrel_ht_get_stats(struct minstrel_priv *mp, struct minstrel_ht_sta *mi,

    group = MINSTREL_CCK_GROUP;
    for (idx = 0; idx < ARRAY_SIZE(mp->cck_rates); idx++) {
    + if (!(mi->supported[group] & BIT(idx)))
    + continue;
    +
    if (rate->idx != mp->cck_rates[idx])
    continue;

    --
    2.35.1


    \
     
     \ /
      Last update: 2022-06-07 22:29    [W:3.160 / U:0.892 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site