On Thu, 2010-08-05 at 01:36 +0200, Christian Lamparter wrote: > 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@xxxxxxxxxxxxxx> > --- > WIP -> v1: > - thread-safe ampdu reordering > - do the reorder release in the timer > > v1 -> v2: > - update documentation entries > - refine locking > > NB: > I hope the timed release stuff is now probably protected against > races from the RX - path. The code was tested and nothing blew up, > that said the testbed only had a puny single-core Pentium M engine... > > But nevertheless, it managed to hold tcp speed high enough to > qualify as an 11n device (~ 60mbps) over the bad link. This set looks fine to me. I may do some cleanup afterwards wrt. the rx struct :-) johannes -- 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