Skip to content

aggregation locking rework

Johannes Berg linux-wireless 1 version New

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 Latest23 patches 0 repliesNew

Patches in v1 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/23mac80211: simplify station/aggregation codenet/mac80211/agg-tx.c net/mac80211/iface.c net/mac80211/mlme.c +3 more+24 -560 replies
2/23mac80211: use common skb queuenet/mac80211/ibss.c net/mac80211/ieee80211_i.h net/mac80211/iface.c +2 more+20 -340 replies
3/23mac80211: use common work structnet/mac80211/ibss.c net/mac80211/ieee80211_i.h net/mac80211/iface.c +5 more+29 -380 replies
4/23mac80211: use common work functionnet/mac80211/ibss.c net/mac80211/ieee80211_i.h net/mac80211/iface.c +2 more+84 -730 replies
5/23mac80211: common work skb freeingnet/mac80211/ibss.c net/mac80211/iface.c net/mac80211/mesh.c +1 more+3 -90 replies
6/23mac80211: pull mgmt frame rx into rx handlernet/mac80211/ibss.c net/mac80211/ieee80211_i.h net/mac80211/mesh.c +3 more+48 -970 replies
7/23mac80211: always process blockack action from workqueuenet/mac80211/iface.c net/mac80211/mlme.c net/mac80211/rx.c+43 -550 replies
8/23mac80211: move blockack stop due to fragmentationnet/mac80211/iface.c net/mac80211/rx.c+33 -40 replies
9/23mac80211: move aggregation callback processingnet/mac80211/agg-tx.c net/mac80211/ieee80211_i.h net/mac80211/iface.c +2 more+30 -280 replies
10/23mac80211: use RCU for RX aggregationnet/mac80211/agg-rx.c net/mac80211/debugfs_sta.c net/mac80211/rx.c +1 more+61 -630 replies
11/23mac80211: use RCU for TX aggregationnet/mac80211/agg-tx.c net/mac80211/debugfs_sta.c net/mac80211/ht.c +5 more+206 -1770 replies
12/23mac80211: remove non-irqsafe aggregation callbacksdrivers/net/wireless/ath/ath9k/htc_drv_main.c include/net/mac80211.h net/mac80211/agg-tx.c +1 more+10 -320 replies
13/23mac80211: refcount aggregation queue stopnet/mac80211/agg-tx.c net/mac80211/ieee80211_i.h net/mac80211/main.c+51 -400 replies
14/23mac80211: make TX aggregation start/stop request asyncnet/mac80211/agg-tx.c net/mac80211/debugfs_sta.c net/mac80211/ht.c +4 more+139 -580 replies
15/23mac80211: move BA session worknet/mac80211/agg-tx.c net/mac80211/ht.c net/mac80211/ieee80211_i.h +1 more+40 -380 replies
16/23mac80211: defer RX agg session teardown to worknet/mac80211/agg-rx.c net/mac80211/ht.c net/mac80211/ieee80211_i.h +1 more+20 -140 replies
17/23mac80211: fix RX aggregation timernet/mac80211/agg-rx.c+4 -00 replies
18/23mac80211: change RX aggregation lockingnet/mac80211/agg-rx.c net/mac80211/driver-ops.h net/mac80211/ht.c +3 more+21 -110 replies
19/23mac80211: defer TX agg session teardown to worknet/mac80211/agg-tx.c+5 -50 replies
20/23mac80211: change TX aggregation lockingnet/mac80211/agg-tx.c net/mac80211/driver-ops.h net/mac80211/ht.c+58 -470 replies
21/23mac80211: allow drivers to sleep in ampdu_actiondrivers/net/wireless/ath/ath9k/main.c include/net/mac80211.h net/mac80211/driver-ops.h+6 -30 replies
22/23mac80211: update aggregation documentationnet/mac80211/agg-rx.c net/mac80211/agg-tx.c+50 -160 replies
23/23mac80211: fix mgmt frame accountingnet/mac80211/rx.c+13 -120 replies

Reviews trailers per patch

No Reviewed-by, Acked-by or Tested-by trailers for v1 yet.

Read the v1 thread

Cover letter [PATCH 00/23] aggregation locking rework

Hi,

I'm finally happy with it now after having tested it in more detail.

Also a big thanks to Sujith for testing and review.

I'll let the patch changelogs speak for themselves, the overarching theme should be clear: ampdu_action can sleep after this patch series.

For the curious:

 drivers/net/wireless/ath/ath9k/htc_drv_main.c |    6 
 drivers/net/wireless/ath/ath9k/main.c         |    4 
 include/net/mac80211.h                        |   34 -
 net/mac80211/agg-rx.c                         |  133 ++--
 net/mac80211/agg-tx.c                         |  695 ++++++++++++++------------
 net/mac80211/debugfs_sta.c                    |   19 
 net/mac80211/driver-ops.h                     |    8 
 net/mac80211/ht.c                             |   62 +-
 net/mac80211/ibss.c                           |   77 --
 net/mac80211/ieee80211_i.h                    |   57 +-
 net/mac80211/iface.c                          |  191 +++++--
 net/mac80211/main.c                           |   19 
 net/mac80211/mesh.c                           |   83 ---
 net/mac80211/mesh.h                           |    2 
 net/mac80211/mesh_hwmp.c                      |    4 
 net/mac80211/mesh_pathtbl.c                   |    4 
 net/mac80211/mlme.c                           |  128 ----
 net/mac80211/pm.c                             |   18 
 net/mac80211/rc80211_minstrel_ht.c            |    2 
 net/mac80211/rx.c                             |  159 +++--
 net/mac80211/sta_info.c                       |   16 
 net/mac80211/sta_info.h                       |   63 +-
 net/mac80211/tx.c                             |   93 ++-
 net/mac80211/util.c                           |   31 -
 24 files changed, 998 insertions(+), 910 deletions(-)

johannes