From mboxrd@z Thu Jan 1 00:00:00 1970 Return-path: Received: from smtp.codeaurora.org ([198.145.29.96]) by bombadil.infradead.org with esmtps (Exim 4.90_1 #2 (Red Hat Linux)) id 1fKty1-0002xQ-SI for ath10k@lists.infradead.org; Mon, 21 May 2018 23:11:51 +0000 MIME-Version: 1.0 Date: Mon, 21 May 2018 16:11:38 -0700 From: Rajkumar Manoharan Subject: Re: [PATCH v2] ath10k: transmit queued frames after waking queues In-Reply-To: <20180521204359.23884-1-niklas.cassel@linaro.org> References: <20180521204359.23884-1-niklas.cassel@linaro.org> Message-ID: <8195be7603a8cd659d25a9c3d898b891@codeaurora.org> List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Transfer-Encoding: base64 Content-Type: text/plain; charset="utf-8"; Format="flowed" Sender: "ath10k" Errors-To: ath10k-bounces+kvalo=adurom.com@lists.infradead.org To: Niklas Cassel Cc: linux-wireless-owner@vger.kernel.org, netdev@vger.kernel.org, linux-wireless@vger.kernel.org, linux-kernel@vger.kernel.org, ath10k@lists.infradead.org, Kalle Valo , "David S. Miller" T24gMjAxOC0wNS0yMSAxMzo0MywgTmlrbGFzIENhc3NlbCB3cm90ZToKPiBUaGUgZm9sbG93aW5n IHByb2JsZW0gd2FzIG9ic2VydmVkIHdoZW4gcnVubmluZyBpcGVyZjoKWy4uLl0KPiAKPiBJbiBv cmRlciB0byBhdm9pZCB0cnlpbmcgdG8gZmx1c2ggdGhlIHF1ZXVlIGV2ZXJ5IHRpbWUgd2UgZnJl ZSBhIGZyYW1lLAo+IG9ubHkgZG8gdGhpcyB3aGVuIHRoZXJlIGFyZSAzIG9yIGxlc3MgZnJhbWVz IHBlbmRpbmcsIGFuZCB3aGlsZSB3ZQo+IGFjdHVhbGx5IGhhdmUgZnJhbWVzIGluIHRoZSBxdWV1 ZS4gVGhpcyBsb2dpYyB3YXMgY29waWVkIGZyb20KPiBtdDc2X3R4cV9zY2hlZHVsZSAobXQ3Niks IG9uZSBvZiBmZXcgb3RoZXIgZHJpdmVycyB0aGF0IGFyZSBhY3R1YWxseQo+IHVzaW5nIHdha2Vf dHhfcXVldWUuCj4gCj4gU3VnZ2VzdGVkLWJ5OiBUb2tlIEjDuGlsYW5kLUrDuHJnZW5zZW4gPHRv a2VAdG9rZS5kaz4KPiBTaWduZWQtb2ZmLWJ5OiBOaWtsYXMgQ2Fzc2VsIDxuaWtsYXMuY2Fzc2Vs QGxpbmFyby5vcmc+Cj4gLS0tCj4gQ2hhbmdlcyBzaW5jZSBWMTogdXNlIFJFQURfT05DRSgpIHRv IGRpc2FsbG93IHRoZSBjb21waWxlcgo+IG9wdGltaXppbmcgdGhpbmdzIGluIHVuZGVzaXJhYmxl IHdheXMuCj4gCj4gIGRyaXZlcnMvbmV0L3dpcmVsZXNzL2F0aC9hdGgxMGsvdHhyeC5jIHwgMyAr KysKPiAgMSBmaWxlIGNoYW5nZWQsIDMgaW5zZXJ0aW9ucygrKQo+IAo+IGRpZmYgLS1naXQgYS9k cml2ZXJzL25ldC93aXJlbGVzcy9hdGgvYXRoMTBrL3R4cnguYwo+IGIvZHJpdmVycy9uZXQvd2ly ZWxlc3MvYXRoL2F0aDEway90eHJ4LmMKPiBpbmRleCBjZGExNjRmNmU5ZjYuLjI2NGNmMGJkNWMw MCAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL25ldC93aXJlbGVzcy9hdGgvYXRoMTBrL3R4cnguYwo+ ICsrKyBiL2RyaXZlcnMvbmV0L3dpcmVsZXNzL2F0aC9hdGgxMGsvdHhyeC5jCj4gQEAgLTk1LDYg Kzk1LDkgQEAgaW50IGF0aDEwa190eHJ4X3R4X3VucmVmKHN0cnVjdCBhdGgxMGtfaHR0ICpodHQs Cj4gIAkJd2FrZV91cCgmaHR0LT5lbXB0eV90eF93cSk7Cj4gIAlzcGluX3VubG9ja19iaCgmaHR0 LT50eF9sb2NrKTsKPiAKPiArCWlmIChSRUFEX09OQ0UoaHR0LT5udW1fcGVuZGluZ190eCkgPD0g MyAmJiAhbGlzdF9lbXB0eSgmYXItPnR4cXMpKQo+ICsJCWF0aDEwa19tYWNfdHhfcHVzaF9wZW5k aW5nKGFyKTsKPiArCk5pa2xhcywKClNvcnJ5IGZvciB0aGUgbGF0ZSByZXNwb25zZS4gYXRoMTBr X21hY190eF9wdXNoX3BlbmRpbmcgaXMgYWxyZWFkeSAKY2FsbGVkCmF0IHRoZSBlbmQgb2YgTkFQ SSBoYW5kbGVyLiBJc24ndCB0aGF0IGVub3VnaCB0byBwcm9jZXNzIHBlbmRpbmcgZnJhbWVzPwoK RWFybGllciB3ZSBvYnNlcnZlZCBwZXJmb3JtYW5jZSBpc3N1ZXMgaW4gY2FsbGluZyBwdXNoX3Bl bmRpbmcgZnJvbSBlYWNoCnR4IGNvbXBsZXRpb24uIElNSE8gdGhpcyBjaGFuZ2UgbWF5IGludHJv ZHVjZSB0aGUgc2FtZSBwcm9ibGVtIGFnYWluLgoKLVJhamt1bWFyCgpfX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwphdGgxMGsgbWFpbGluZyBsaXN0CmF0aDEw a0BsaXN0cy5pbmZyYWRlYWQub3JnCmh0dHA6Ly9saXN0cy5pbmZyYWRlYWQub3JnL21haWxtYW4v bGlzdGluZm8vYXRoMTBrCg== From mboxrd@z Thu Jan 1 00:00:00 1970 Return-path: Received: from smtp.codeaurora.org ([198.145.29.96]:38616 "EHLO smtp.codeaurora.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751050AbeEUXLj (ORCPT ); Mon, 21 May 2018 19:11:39 -0400 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Date: Mon, 21 May 2018 16:11:38 -0700 From: Rajkumar Manoharan To: Niklas Cassel Cc: Kalle Valo , "David S. Miller" , ath10k@lists.infradead.org, linux-wireless@vger.kernel.org, netdev@vger.kernel.org, linux-kernel@vger.kernel.org, linux-wireless-owner@vger.kernel.org Subject: Re: [PATCH v2] ath10k: transmit queued frames after waking queues In-Reply-To: <20180521204359.23884-1-niklas.cassel@linaro.org> References: <20180521204359.23884-1-niklas.cassel@linaro.org> Message-ID: <8195be7603a8cd659d25a9c3d898b891@codeaurora.org> (sfid-20180522_011143_199655_CCCD2100) Sender: linux-wireless-owner@vger.kernel.org List-ID: On 2018-05-21 13:43, Niklas Cassel wrote: > The following problem was observed when running iperf: [...] > > In order to avoid trying to flush the queue every time we free a frame, > only do this when there are 3 or less frames pending, and while we > actually have frames in the queue. This logic was copied from > mt76_txq_schedule (mt76), one of few other drivers that are actually > using wake_tx_queue. > > Suggested-by: Toke Høiland-Jørgensen > Signed-off-by: Niklas Cassel > --- > Changes since V1: use READ_ONCE() to disallow the compiler > optimizing things in undesirable ways. > > drivers/net/wireless/ath/ath10k/txrx.c | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/drivers/net/wireless/ath/ath10k/txrx.c > b/drivers/net/wireless/ath/ath10k/txrx.c > index cda164f6e9f6..264cf0bd5c00 100644 > --- a/drivers/net/wireless/ath/ath10k/txrx.c > +++ b/drivers/net/wireless/ath/ath10k/txrx.c > @@ -95,6 +95,9 @@ int ath10k_txrx_tx_unref(struct ath10k_htt *htt, > wake_up(&htt->empty_tx_wq); > spin_unlock_bh(&htt->tx_lock); > > + if (READ_ONCE(htt->num_pending_tx) <= 3 && !list_empty(&ar->txqs)) > + ath10k_mac_tx_push_pending(ar); > + Niklas, Sorry for the late response. ath10k_mac_tx_push_pending is already called at the end of NAPI handler. Isn't that enough to process pending frames? Earlier we observed performance issues in calling push_pending from each tx completion. IMHO this change may introduce the same problem again. -Rajkumar