Return-path: Received: from ebb05.tieto.com ([131.207.168.36]:54848 "EHLO ebb05.tieto.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751846Ab3IMMRF (ORCPT ); Fri, 13 Sep 2013 08:17:05 -0400 From: Michal Kazior To: CC: , Michal Kazior Subject: [PATCHv2 0/7] ath10k: improve TX path Date: Fri, 13 Sep 2013 14:16:51 +0200 Message-ID: <1379074618-30534-1-git-send-email-michal.kazior@tieto.com> (sfid-20130913_141710_842182_9A8C988F) In-Reply-To: <1378821003-22925-1-git-send-email-michal.kazior@tieto.com> References: <1378821003-22925-1-git-send-email-michal.kazior@tieto.com> MIME-Version: 1.0 Content-Type: text/plain Sender: linux-wireless-owner@vger.kernel.org List-ID: 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