| From: Felix Fietkau <nbd@nbd.name> |
| Date: Mon, 20 Jun 2022 14:53:04 +0200 |
| Subject: [PATCH] mac80211: make sta airtime deficit field s32 instead of |
| s64 |
| |
| 32 bit is more than enough range for the airtime deficit |
| |
| Signed-off-by: Felix Fietkau <nbd@nbd.name> |
| --- |
| |
| --- a/net/mac80211/debugfs_sta.c |
| +++ b/net/mac80211/debugfs_sta.c |
| @@ -202,7 +202,7 @@ static ssize_t sta_airtime_read(struct f |
| size_t bufsz = 400; |
| char *buf = kzalloc(bufsz, GFP_KERNEL), *p = buf; |
| u64 rx_airtime = 0, tx_airtime = 0; |
| - s64 deficit[IEEE80211_NUM_ACS]; |
| + s32 deficit[IEEE80211_NUM_ACS]; |
| ssize_t rv; |
| int ac; |
| |
| @@ -219,7 +219,7 @@ static ssize_t sta_airtime_read(struct f |
| |
| p += scnprintf(p, bufsz + buf - p, |
| "RX: %llu us\nTX: %llu us\nWeight: %u\n" |
| - "Deficit: VO: %lld us VI: %lld us BE: %lld us BK: %lld us\n", |
| + "Deficit: VO: %d us VI: %d us BE: %d us BK: %d us\n", |
| rx_airtime, tx_airtime, sta->airtime_weight, |
| deficit[0], deficit[1], deficit[2], deficit[3]); |
| |
| --- a/net/mac80211/sta_info.h |
| +++ b/net/mac80211/sta_info.h |
| @@ -138,7 +138,7 @@ enum ieee80211_agg_stop_reason { |
| struct airtime_info { |
| u64 rx_airtime; |
| u64 tx_airtime; |
| - s64 deficit; |
| + s32 deficit; |
| atomic_t aql_tx_pending; /* Estimated airtime for frames pending */ |
| u32 aql_limit_low; |
| u32 aql_limit_high; |
| --- a/net/mac80211/tx.c |
| +++ b/net/mac80211/tx.c |
| @@ -3847,7 +3847,7 @@ struct ieee80211_txq *ieee80211_next_txq |
| struct sta_info *sta = container_of(txqi->txq.sta, |
| struct sta_info, sta); |
| bool aql_check = ieee80211_txq_airtime_check(hw, &txqi->txq); |
| - s64 deficit = sta->airtime[txqi->txq.ac].deficit; |
| + s32 deficit = sta->airtime[txqi->txq.ac].deficit; |
| |
| if (aql_check) |
| found_eligible_txq = true; |