Search Linux Wireless

[PATCH] mac80211: fix aggregation for hardware with ampdu queues

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Johannes Berg wrote:
> Hardware with AMPDU queues currently has broken aggregation.
> 
> This patch fixes it by making all A-MPDUs go over the regular AC queues,
> but keeping track of the hardware queues in mac80211. As a first rough
> version, it actually stops the AC queue for extended periods of time,
> which can be removed by adding buffering internal to mac80211, but is
> currently not a huge problem because people rarely use multiple TIDs
> that are in the same AC (and iwlwifi currently doesn't operate as AP).
> 
> This is a short-term fix, my current medium-term plan, which I hope to
> execute soon as well, but am not sure can finish before .30, looks like
> this:
>  1) rework the internal queuing layer in mac80211 that we use for
>     fragments if the driver stopped queue in the middle of a fragmented
>     frame to be able to queue more frames at once (rather than just a
>     single frame with its fragments)
>  2) instead of stopping the entire AC queue, queue up the frames in a
>     per-station/per-TID queue during aggregation session initiation,
>     when the session has come up take all those frames and put them
>     onto the queue from 1)
>  3) push the ampdu queue layer abstraction this patch introduces in
>     mac80211 into the driver, and remove the virtual queue stuff from
>     mac80211 again
> 
> This plan will probably also affect ath9k in that mac80211 queues the
> frames instead of passing them down, even when there are no ampdu queues.
> 
> Signed-off-by: Johannes Berg <johannes@xxxxxxxxxxxxxxxx>

Tested with ath9k, works okay.

Sujith
--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]
  Powered by Linux