Skip to content

Move TXQ scheduling and airtime fairness into mac80211

Rajkumar Manoharan ath10k linux-wireless 5 versions – In review

Get series with b4
b4 am [email protected]

Versions newest first · linked by author and title

  1. v5 Latest6 patches 6 repliesIn review
  2. v46 patches 2 repliesSuperseded
  3. v36 patches 21 repliesSuperseded
Earlier versions · 2
VersionPostedPatchesRepliesStatus
v20 of 6 patches0 repliesSuperseded
v16 patches17 repliesSuperseded

Changes in v5 from the cover letter

- fix kbuild-robot errors (s/BIT/BIT_ULL)

Patches in v5 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/6mac80211: Add TXQ scheduling APIinclude/net/mac80211.h net/mac80211/agg-tx.c net/mac80211/driver-ops.h +4 more+140 -70 replies
2/6cfg80211: Add airtime statistics and settingsinclude/net/cfg80211.h include/uapi/linux/nl80211.h net/wireless/nl80211.c+54 -10 replies
3/6mac80211: Add airtime accounting and scheduling to TXQsinclude/net/mac80211.h net/mac80211/cfg.c net/mac80211/debugfs.c +7 more+282 -100 replies
4/6ath9k: Switch to mac80211 TXQ scheduling and airtime APIsdrivers/net/wireless/ath/ath9k/ath9k.h drivers/net/wireless/ath/ath9k/debug.c drivers/net/wireless/ath/ath9k/debug.h +4 more+75 -2761 reply
5/6ath10k: migrate to mac80211 txq schedulingdrivers/net/wireless/ath/ath10k/core.c drivers/net/wireless/ath/ath10k/core.h drivers/net/wireless/ath/ath10k/htc.h +2 more+54 -612 replies
6/6ath10k: reporting estimated tx airtime for fairnessdrivers/net/wireless/ath/ath10k/core.h drivers/net/wireless/ath/ath10k/htt_rx.c drivers/net/wireless/ath/ath10k/mac.c +1 more+61 -31 reply

Reviews trailers per patch

None of the 6 patches has a Reviewed-by or Acked-by of their own; the series has one for all of them.

PatchVenkateswara NaralasettyDave Taht
SeriesA-b
1/6
2/6
3/6
4/6
5/6T-b
6/6

Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes.

Read the v5 thread

Cover letter [PATCH v5 0/6] Move TXQ scheduling and airtime fairness into mac80211

All,

Sorry for the long delay. Here is the consolidated series of mac80211, ath9k and ath10k changes for moving TXQ scheduling and airtime fairness into mac80211 and support airtime fairness.

Three main APIs are defined for TXQ scheduling.
- ieee80211_next_txq
- ieee80211_return_txq
- ieee80211_txq_may_transmit

and two APIs for synchronization when the driver wants to iterate through all TXQs.
- ieee80211_txq_schedule_start
- ieee80211_txq_schedule_end

The earlier discussions:
https://patchwork.kernel.org/project/linux-wireless/list/?series=&submitter=&state=*&q=TXQ+scheduling&archive=both&delegate=

-Rajkumar

v2:
- replaced driver specific airtime default by multiplier
- fixed tab intent
- fixed author and commit log
v3:
- fixed checkpatch warnings and kbuild bot errors. few of over 80 char warnings are left.
v4:
- Folded Louie's airtime counter reset change
- rebased the series on top of mac80211 tree.
v5:
- fix kbuild-robot errors (s/BIT/BIT_ULL)

Kan Yan (1):
ath10k: reporting estimated tx airtime for fairness

Toke Høiland-Jørgensen (5):
mac80211: Add TXQ scheduling API
cfg80211: Add airtime statistics and settings
mac80211: Add airtime accounting and scheduling to TXQs
ath9k: Switch to mac80211 TXQ scheduling and airtime APIs
ath10k: migrate to mac80211 txq scheduling

 drivers/net/wireless/ath/ath10k/core.c     |   2 -
 drivers/net/wireless/ath/ath10k/core.h     |   8 +-
 drivers/net/wireless/ath/ath10k/htc.h      |   1 -
 drivers/net/wireless/ath/ath10k/htt_rx.c   |   9 ++
 drivers/net/wireless/ath/ath10k/mac.c      | 155 +++++++++++-------
 drivers/net/wireless/ath/ath10k/txrx.c     |   4 +
 drivers/net/wireless/ath/ath9k/ath9k.h     |  14 --
 drivers/net/wireless/ath/ath9k/debug.c     |   3 -
 drivers/net/wireless/ath/ath9k/debug.h     |   8 -
 drivers/net/wireless/ath/ath9k/debug_sta.c |  70 ---------
 drivers/net/wireless/ath/ath9k/init.c      |   3 +-
 drivers/net/wireless/ath/ath9k/recv.c      |   9 +-
 drivers/net/wireless/ath/ath9k/xmit.c      | 244 +++++++++--------------------
 include/net/cfg80211.h                     |  10 +-
 include/net/mac80211.h                     | 121 +++++++++++++-
 include/uapi/linux/nl80211.h               |  15 ++
 net/mac80211/agg-tx.c                      |   2 +-
 net/mac80211/cfg.c                         |   3 +
 net/mac80211/debugfs.c                     |   3 +
 net/mac80211/debugfs_sta.c                 |  68 +++++++-
 net/mac80211/driver-ops.h                  |   9 ++
 net/mac80211/ieee80211_i.h                 |  11 ++
 net/mac80211/main.c                        |   9 ++
 net/mac80211/sta_info.c                    |  46 +++++-
 net/mac80211/sta_info.h                    |  13 ++
 net/mac80211/status.c                      |   6 +
 net/mac80211/tx.c                          | 140 ++++++++++++++++-
 net/wireless/nl80211.c                     |  30 ++++
 28 files changed, 662 insertions(+), 354 deletions(-)
Signature · 1 line
1.9.1