mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-27 17:18:59 +00:00
37752336bd
Completely redesign the rate sampling approach Signed-off-by: Felix Fietkau <nbd@nbd.name>
55 lines
1.4 KiB
Diff
55 lines
1.4 KiB
Diff
From: Felix Fietkau <nbd@nbd.name>
|
|
Date: Fri, 22 Jan 2021 18:21:13 +0100
|
|
Subject: [PATCH] mac80211: minstrel_ht: update total packets counter in tx
|
|
status path
|
|
|
|
Keep the update in one place and prepare for further rework
|
|
|
|
Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
|
---
|
|
|
|
--- a/net/mac80211/rc80211_minstrel_ht.c
|
|
+++ b/net/mac80211/rc80211_minstrel_ht.c
|
|
@@ -1093,6 +1093,16 @@ minstrel_ht_tx_status(void *priv, struct
|
|
info->status.ampdu_len = 1;
|
|
}
|
|
|
|
+ /* wraparound */
|
|
+ if (mi->total_packets >= ~0 - info->status.ampdu_len) {
|
|
+ mi->total_packets = 0;
|
|
+ mi->sample_packets = 0;
|
|
+ }
|
|
+
|
|
+ mi->total_packets += info->status.ampdu_len;
|
|
+ if (info->flags & IEEE80211_TX_CTL_RATE_CTRL_PROBE)
|
|
+ mi->sample_packets += info->status.ampdu_len;
|
|
+
|
|
mi->ampdu_packets++;
|
|
mi->ampdu_len += info->status.ampdu_len;
|
|
|
|
@@ -1104,9 +1114,6 @@ minstrel_ht_tx_status(void *priv, struct
|
|
mi->sample_count--;
|
|
}
|
|
|
|
- if (info->flags & IEEE80211_TX_CTL_RATE_CTRL_PROBE)
|
|
- mi->sample_packets += info->status.ampdu_len;
|
|
-
|
|
if (mi->sample_mode != MINSTREL_SAMPLE_IDLE)
|
|
rate_sample = minstrel_get_ratestats(mi, mi->sample_rate);
|
|
|
|
@@ -1504,14 +1511,6 @@ minstrel_ht_get_rate(void *priv, struct
|
|
else
|
|
sample_idx = minstrel_get_sample_rate(mp, mi);
|
|
|
|
- mi->total_packets++;
|
|
-
|
|
- /* wraparound */
|
|
- if (mi->total_packets == ~0) {
|
|
- mi->total_packets = 0;
|
|
- mi->sample_packets = 0;
|
|
- }
|
|
-
|
|
if (sample_idx < 0)
|
|
return;
|
|
|