Search Linux Wireless

[PATCHv2 0/7] ath10k: improve TX path

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

 



Hi,

This patchset addresses two issues:

 * system/userspace starvation on heavy briding
   UDP TX
 * unstable/inconsistent UDP TX throughput

In short the patchset simplifies TX path by
removing HTC TX workers, makes WMI commands block
and makes ath10k more responsive to queues
becoming full. This contributes to both improved
throughput and makes the system more responsive
under heavy UDP TX load.

Max stable briding TX (ath10k as TX):
 UDP w/o patchset: 520mbps
 UDP w/  patchset: 570mbps

 TCP w/o patchset: 350mbps
 TCP w/  patchset: 400mbps

Measured with two 2x2 cards, one acting as an AP
on AP135 board, the other as a STA on a core i5
laptop. The AP135 was passing traffic from a
station on LAN/eth1 to the STA/wlan0.

v2:
 * use DIV_ROUND_UP
 * comment usage of ath10k_wmi_tx_beacons_nowait
 * additional check for tx_credits_flow_enabled


Michal Kazior (7):
  ath10k: simplify HTC credits calculation
  ath10k: add HTC TX credits replenishing notification
  ath10k: make WMI commands block by design
  ath10k: simplify HTC command submitting
  ath10k: improve beacon submission latency
  ath10k: remove wmi pending count limit
  ath10k: remove wmi event worker thread

 drivers/net/wireless/ath/ath10k/core.h  |    7 +-
 drivers/net/wireless/ath/ath10k/htc.c   |  215 +++++++------------------------
 drivers/net/wireless/ath/ath10k/htc.h   |    5 +-
 drivers/net/wireless/ath/ath10k/mac.c   |   16 +--
 drivers/net/wireless/ath/ath10k/trace.h |   11 +-
 drivers/net/wireless/ath/ath10k/wmi.c   |  201 ++++++++++++++---------------
 drivers/net/wireless/ath/ath10k/wmi.h   |    5 +-
 7 files changed, 160 insertions(+), 300 deletions(-)

-- 
1.7.9.5

--
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 Wireless Personal Area Network]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Hiking]     [MIPS Linux]     [ARM Linux]     [Linux RAID]

  Powered by Linux