linux-wireless.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [RFC/RFT 0/2] mac80211/ath10k: fix Rx reordering
@ 2014-06-27  9:06 Michal Kazior
  2014-06-27  9:06 ` [RFC/RFT 1/2] mac80211: add support for Rx reordering offloading Michal Kazior
                   ` (2 more replies)
  0 siblings, 3 replies; 9+ messages in thread
From: Michal Kazior @ 2014-06-27  9:06 UTC (permalink / raw)
  To: ath10k; +Cc: linux-wireless, Denton Gentry, Michal Kazior

Hi,

I'm posting these 2 patches together in a single
patchset for easier review/testing for now. Once
review goes well I can split up the patchset and
send patches separately if it is desired so.

Recently Denton pointed out ath10k fails to
perform Rx reordering and this causes performance
issues in some cases.

Due to ath10k design I had to come up with a patch
for mac80211 to allow Rx reordering offloading via
existing Rx BA sessions code.

I've tested this pretty lightly so far. With the
patchset `iperf -u` reports 0* out-of-order
frames. Without the patch I'm seeing 400+ per
second (the particular number isn't relevant as it
depends on throughput and environment). It seems
to improve single-threaded TCP performance as
well. All test traffic is station -> ath10k AP.

* There are a few out-of-rder frames in the first
second after Rx tid is set up. I suspect this is
because ath10k is forced to start Rx BA sesion
with an arbitrary start_seq_num. 

Note: This is based on https://github.com/kvalo/ath
30a165cb84793fa3896ad93497e11eed651b1813.


Michal Kazior (2):
  mac80211: add support for Rx reordering offloading
  ath10k: fix Rx aggregation reordering

 drivers/net/wireless/ath/ath10k/htt_rx.c |  92 +++++++++++++++++++++++++-
 drivers/net/wireless/ath/ath10k/mac.c    |  30 +++++++++
 drivers/net/wireless/ath/ath10k/txrx.c   |   3 +-
 drivers/net/wireless/ath/ath10k/txrx.h   |   1 +
 include/net/mac80211.h                   |  40 ++++++++++++
 net/mac80211/agg-rx.c                    | 108 ++++++++++++++++++++++++-------
 net/mac80211/ieee80211_i.h               |  16 +++++
 net/mac80211/iface.c                     |  25 +++++++
 8 files changed, 287 insertions(+), 28 deletions(-)

-- 
1.8.5.3


^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2014-07-14 13:18 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-06-27  9:06 [RFC/RFT 0/2] mac80211/ath10k: fix Rx reordering Michal Kazior
2014-06-27  9:06 ` [RFC/RFT 1/2] mac80211: add support for Rx reordering offloading Michal Kazior
2014-07-08  7:10   ` Johannes Berg
2014-07-14 13:18     ` Michal Kazior
2014-06-27  9:06 ` [RFC/RFT 2/2] ath10k: fix Rx aggregation reordering Michal Kazior
2014-06-27 14:17   ` Kalle Valo
2014-06-30  5:41     ` Michal Kazior
2014-06-30  7:59       ` Kalle Valo
2014-06-27 18:17 ` [RFC/RFT 0/2] mac80211/ath10k: fix Rx reordering Denton Gentry

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).