mac80211: AMPDU rx reorder timeout timer
authorChristian Lamparter <chunkeey@googlemail.com>
Wed, 4 Aug 2010 23:36:41 +0000 (01:36 +0200)
committerJohn W. Linville <linville@tuxdriver.com>
Mon, 16 Aug 2010 19:26:39 +0000 (15:26 -0400)
commit2bff8ebf32a7c5ec9e5f5eeffef94a8cb622f5f0
treeba1a904e56eb202481c039d28a0d769d4bcf796f
parent071d9ac253ff51154beb7e33967168e30bc96053
mac80211: AMPDU rx reorder timeout timer

This patch introduces a new timer, which will release
queued-up MPDUs from the reorder buffer, whenever
they've waited for more than HT_RX_REORDER_BUF_TIMEOUT
(which is at around 100 ms).

The advantage of having a dedicated timer, instead of
relying on a constant stream of freshly arriving aMPDUs
to release the old ones, is particularly observable when
even a small fraction of MPDUs are forever lost at
low network speeds.

Previously under these circumstances frames would become
stuck in the reorder buffer and the network stack of both
HT peers throttled back, instead of revving up and
gunning the pipes.

Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
net/mac80211/agg-rx.c
net/mac80211/ieee80211_i.h
net/mac80211/rx.c
net/mac80211/sta_info.h