2022-06-25 21:25:09

by Felix Fietkau

[permalink] [raw]
Subject: [PATCH 2/7] 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 <[email protected]>
---
net/mac80211/debugfs_sta.c | 4 ++--
net/mac80211/sta_info.h | 2 +-
net/mac80211/tx.c | 2 +-
3 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/net/mac80211/debugfs_sta.c b/net/mac80211/debugfs_sta.c
index 1dc238fc24f0..d3397c1248d3 100644
--- a/net/mac80211/debugfs_sta.c
+++ b/net/mac80211/debugfs_sta.c
@@ -202,7 +202,7 @@ static ssize_t sta_airtime_read(struct file *file, char __user *userbuf,
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 file *file, char __user *userbuf,

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]);

diff --git a/net/mac80211/sta_info.h b/net/mac80211/sta_info.h
index 4ba0c252da95..785fefe8c41a 100644
--- 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;
diff --git a/net/mac80211/tx.c b/net/mac80211/tx.c
index fcee60ce2456..a615cadf7728 100644
--- a/net/mac80211/tx.c
+++ b/net/mac80211/tx.c
@@ -3830,7 +3830,7 @@ struct ieee80211_txq *ieee80211_next_txq(struct ieee80211_hw *hw, u8 ac)
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;
--
2.36.1


2022-06-27 15:07:42

by Toke Høiland-Jørgensen

[permalink] [raw]
Subject: Re: [PATCH 2/7] mac80211: make sta airtime deficit field s32 instead of s64

Felix Fietkau <[email protected]> writes:

> 32 bit is more than enough range for the airtime deficit
>
> Signed-off-by: Felix Fietkau <[email protected]>

Acked-by: Toke Høiland-Jørgensen <[email protected]>