linux-stable/net/mac80211
Toke Høiland-Jørgensen 1866760096 mac80211: Add TXQ scheduling API
This adds an API to mac80211 to handle scheduling of TXQs. The interface
between driver and mac80211 for TXQ handling is changed by adding two new
functions: ieee80211_next_txq(), which will return the next TXQ to schedule
in the current round-robin rotation, and ieee80211_return_txq(), which the
driver uses to indicate that it has finished scheduling a TXQ (which will
then be put back in the scheduling rotation if it isn't empty).

The driver must call ieee80211_txq_schedule_start() at the start of each
scheduling session, and ieee80211_txq_schedule_end() at the end. The API
then guarantees that the same TXQ is not returned twice in the same
session (so a driver can loop on ieee80211_next_txq() without worrying
about breaking the loop.

Usage of the new API is optional, so drivers can be ported one at a time.
In this patch, the actual scheduling performed by mac80211 is simple
round-robin, but a subsequent commit adds airtime fairness awareness to the
scheduler.

Signed-off-by: Toke Høiland-Jørgensen <toke@toke.dk>
[minor kernel-doc fix, propagate sparse locking checks out]
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2019-01-19 09:24:12 +01:00
..
aead_api.c
aead_api.h
aes_ccm.h
aes_cmac.c
aes_cmac.h
aes_gcm.h
aes_gmac.c
aes_gmac.h
agg-rx.c mac80211: add support for HE 2018-06-18 22:40:32 +02:00
agg-tx.c mac80211: Add TXQ scheduling API 2019-01-19 09:24:12 +01:00
cfg.c This time we have too many changes to list, highlights: 2018-12-19 08:36:18 -08:00
chan.c treewide: kzalloc() -> kcalloc() 2018-06-12 16:19:22 -07:00
debug.h
debugfs.c mac80211: add an option for station management TXQ 2018-09-05 10:10:11 +02:00
debugfs.h
debugfs_key.c
debugfs_key.h
debugfs_netdev.c {nl,mac}80211: add dot11MeshConnectedToMeshGate to meshconf 2018-11-09 11:39:44 +01:00
debugfs_netdev.h
debugfs_sta.c mac80211: debugfs: avoid variable shadowing 2018-11-09 11:14:51 +01:00
debugfs_sta.h
driver-ops.c
driver-ops.h mac80211: Add TXQ scheduling API 2019-01-19 09:24:12 +01:00
ethtool.c mac80211: use BIT_ULL for NL80211_STA_INFO_* attribute types 2018-06-29 09:53:09 +02:00
fils_aead.c
fils_aead.h
he.c mac80211: add support for HE 2018-06-18 22:40:32 +02:00
ht.c ieee80211: bump IEEE80211_MAX_AMPDU_BUF to support HE 2018-06-18 22:39:39 +02:00
ibss.c mac80211: add ability to parse CCFS2 2018-09-05 10:03:14 +02:00
ieee80211_i.h mac80211: Add TXQ scheduling API 2019-01-19 09:24:12 +01:00
iface.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2018-12-20 11:53:36 -08:00
Kconfig mac80211: rewrite Kconfig text for mesh 2018-12-05 15:32:28 +01:00
key.c mac80211: remove unnecessary NULL check 2018-09-05 10:15:48 +02:00
key.h
led.c leds: triggers: let struct led_trigger::activate() return an error code 2018-07-05 23:21:10 +02:00
led.h
main.c mac80211: Add TXQ scheduling API 2019-01-19 09:24:12 +01:00
Makefile mac80211: minstrel: merge with minstrel_ht, always enable VHT support 2018-10-11 16:01:01 +02:00
mesh.c {nl,mac}80211: add rssi to mesh candidates 2018-11-09 11:41:20 +01:00
mesh.h {nl,mac}80211: add rssi to mesh candidates 2018-11-09 11:41:20 +01:00
mesh_hwmp.c mac80211: fix TX status reporting for ieee80211s 2018-09-10 09:14:28 +02:00
mesh_pathtbl.c
mesh_plink.c {nl,mac}80211: add rssi to mesh candidates 2018-11-09 11:41:20 +01:00
mesh_ps.c
mesh_sync.c
michael.c
michael.h
mlme.c This time we have too many changes to list, highlights: 2018-12-19 08:36:18 -08:00
ocb.c
offchannel.c mac80211: support scan features for improved scan privacy 2018-06-15 13:34:40 +02:00
pm.c
rate.c
rate.h mac80211: minstrel: merge with minstrel_ht, always enable VHT support 2018-10-11 16:01:01 +02:00
rc80211_minstrel.c mac80211: rc80211_minstrel: remove variance / stddev calculation 2018-10-11 16:01:05 +02:00
rc80211_minstrel.h mac80211: rc80211_minstrel: remove variance / stddev calculation 2018-10-11 16:01:05 +02:00
rc80211_minstrel_debugfs.c mac80211: rc80211_minstrel: remove variance / stddev calculation 2018-10-11 16:01:05 +02:00
rc80211_minstrel_ht.c mac80211: minstrel: do not sample rates 3 times slower than max_prob_rate 2018-10-11 16:01:04 +02:00
rc80211_minstrel_ht.h mac80211: minstrel: reduce minstrel_mcs_groups size 2018-10-11 16:01:02 +02:00
rc80211_minstrel_ht_debugfs.c mac80211: rc80211_minstrel: remove variance / stddev calculation 2018-10-11 16:01:05 +02:00
rx.c This time we have too many changes to list, highlights: 2018-12-19 08:36:18 -08:00
scan.c mac80211: allow hardware scan to fall back to software 2018-11-09 11:37:04 +01:00
spectmgmt.c mac80211: add ability to parse CCFS2 2018-09-05 10:03:14 +02:00
sta_info.c mac80211: Add TXQ scheduling API 2019-01-19 09:24:12 +01:00
sta_info.h {nl,mac}80211: report gate connectivity in station info 2018-11-09 11:38:29 +01:00
status.c mac80211: free skb fraglist before freeing the skb 2018-12-19 09:40:17 +01:00
tdls.c mac80211: TDLS: fix skb queue/priority assignment 2018-09-10 09:13:32 +02:00
tkip.c
tkip.h
trace.c
trace.h mac80211: allow drivers to use peer measurement API 2018-11-09 11:20:34 +01:00
trace_msg.h
tx.c mac80211: Add TXQ scheduling API 2019-01-19 09:24:12 +01:00
util.c mac80211: update driver when MU EDCA params change 2018-12-18 14:19:10 +01:00
vht.c mac80211: copy VHT EXT NSS BW Support/Capable data to station 2018-09-05 10:03:14 +02:00
wep.c crypto: drop mask=CRYPTO_ALG_ASYNC from 'cipher' tfm allocations 2018-11-20 14:26:55 +08:00
wep.h
wme.c
wme.h
wpa.c
wpa.h