From mboxrd@z Thu Jan 1 00:00:00 1970 Return-path: Received: from mail.toke.dk ([2001:470:dc45:1000::1]) by bombadil.infradead.org with esmtps (Exim 4.90_1 #2 (Red Hat Linux)) id 1gKPCv-0005cJ-Co for ath10k@lists.infradead.org; Wed, 07 Nov 2018 14:53:27 +0000 From: Toke =?utf-8?Q?H=C3=B8iland-J=C3=B8rgensen?= Subject: Re: [PATCH 3/6] mac80211: Add airtime accounting and scheduling to TXQs In-Reply-To: <10b644b6c7f436a892e3e9f4fd5e179d@codeaurora.org> References: <1540033534-11211-1-git-send-email-rmanohar@codeaurora.org> <1540033534-11211-4-git-send-email-rmanohar@codeaurora.org> <8736ssbxp9.fsf@toke.dk> <9c2b790132a9a89fecd7dd79dc67d891@codeaurora.org> <87woq2843q.fsf@toke.dk> <8fd3524bfe022ccd2a8b61a3314ed32b@codeaurora.org> <5d8415fe50e8505eb62c5a0d1b40bb2a@codeaurora.org> <87h8gzpy9t.fsf@toke.dk> <10b644b6c7f436a892e3e9f4fd5e179d@codeaurora.org> Date: Wed, 07 Nov 2018 15:53:06 +0100 Message-ID: <87va59uegc.fsf@toke.dk> MIME-Version: 1.0 List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "ath10k" Errors-To: ath10k-bounces+kvalo=adurom.com@lists.infradead.org To: Rajkumar Manoharan Cc: linux-wireless@vger.kernel.org, ath10k@lists.infradead.org UmFqa3VtYXIgTWFub2hhcmFuIDxybWFub2hhckBjb2RlYXVyb3JhLm9yZz4gd3JpdGVzOgoKPiBP biAyMDE4LTExLTAyIDAzOjMwLCBUb2tlIEjDuGlsYW5kLUrDuHJnZW5zZW4gd3JvdGU6Cj4+IFJh amt1bWFyIE1hbm9oYXJhbiA8cm1hbm9oYXJAY29kZWF1cm9yYS5vcmc+IHdyaXRlczoKPj4gCj4+ PiBPbiAyMDE4LTEwLTI4IDE1OjAxLCBSYWprdW1hciBNYW5vaGFyYW4gd3JvdGU6Cj4+Pj4gT24g MjAxOC0xMC0yOCAwODo0OCwgVG9rZSBIw7hpbGFuZC1Kw7hyZ2Vuc2VuIHdyb3RlOgo+Pj4+PiBS YWprdW1hciBNYW5vaGFyYW4gPHJtYW5vaGFyQGNvZGVhdXJvcmEub3JnPiB3cml0ZXM6Cj4+Pj4+ IAo+Pj4+Pj4gCj4+Pj4+PiA0bXMgICAgICAgICAyMjMgKDQwJSkgICAgICAgICAyMTQgKDQwJSkg ICAgMTA5ICgxMCUpICAgICAgIDk0ICgxMCUpCj4+Pj4+PiAKPj4+Pj4+IDRtcyAgICAgICAgIDMz NyAoOTAlKSAgICAgICAgIDE4MiAoOCUpICAgICAgMjMgKDElKSAgICAgICAgMzAgKDElKQo+Pj4+ PiAKPj4+Pj4gU28gdGhpcyBsb29rcyBsaWtlIGl0J3MgZG9pbmcgKnNvbWV0aGluZyosIGJ1dCBu b3QgbGlrZSBpdCdzCj4+Pj4+IHN1Y2NlZWRpbmcKPj4+Pj4gaW4gYWNoaWV2aW5nIHRoZSBzZXQg cGVyY2VudGFnZXMuIERpZCB5b3UgY2hlY2sgaWYgdGhlIGFjdHVhbCAKPj4+Pj4gYWlydGltZQo+ Pj4+PiB2YWx1ZXMgKGluIGRlYnVnZnMpIGNvcnJlc3BvbmRzIHRvIHRoZSBjb25maWd1cmVkIHdl aWdodHM/Cj4+Pj4+IAo+Pj4+IE5vLiBXaWxsIGNoZWNrIHRoYXQuCj4+Pj4gCj4+PiBUb2tlLAo+ Pj4gCj4+PiAgRnJvbSBhYm92ZSByZXN1bHRzLCBkaWZmZXJlbnQgYWlydGltZSBmb3IgZWFjaCBz dGF0aW9uIGlzIHJlZmxlY3RpbmcgCj4+PiBvbgo+Pj4gb3V0cHV0IHBlcmZvcm1hbmNlLiBVbmZv cnR1bmF0ZWx5IEkgZG9uJ3Qgc2VlIHN1Y2ggdHB1dCBkaWZmZXJlbmNlLCAKPj4+IHdoZW4KPj4+ IHRoZSB0eCBtb2RlIGlzIGZpeGVkIGluIHB1c2gtb25seS4gRXZlbiBsb3cgd2VpZ2h0IHN0YXRp b24gaXMgZ2l2aW5nCj4+PiBzYW1lCj4+PiBwZXJmb3JtYW5jZS4gQXJlIHlvdSBhbHNvIHNlZWlu ZyB0aGUgc2FtZSBiZWhhdmlvciBpbiB5b3VyIHNldHVwPyAKPj4+IENvdWxkCj4+PiB5b3UgcGxl YXNlIHNoYXJlIHlvdXIgcmVzdWx0cz8KPj4gCj4+IFNvcnJ5LCBJJ3ZlIGJlZW4gdHJhdmVsbGlu ZyB0aGlzIHdlZWs7IEknbGwgYmUgYmFjayBpbiB0aGUgb2ZmaWNlIG5leHQKPj4gd2VlayBhbmQg Y2FuIHJ1biBzb21lIHRlc3RzIHRoZW4uIEkgbWF5IGFsc28gaGF2ZSBhbiBpZGVhIGZvciBhCj4+ IGRpZmZlcmVudCBhbGdvcml0aG0gdGhhdCB3aWxsIHdvcmsgYmV0dGVyIGluIHB1bGwgbW9kZSwg YnV0IG5lZWQgdG8gc2VlCj4+IGlmIGl0IHdvcmtzIGF0IGFsbCBmaXJzdCA6KQo+PiAKPiBXb3cu Li4gOikKPgo+IE1lYW53aGlsZSB3ZSBkaWQgc29tZSBtb3JlIGV4cGVyaW1lbnRzIHdpdGggYm90 aCBtb2Rlcy4gVGhlIGV4cGVyaW1lbnQKPiB3YXMgZG9uZSBpbiBvcGVuIGVudmlyb25tZW50IGFu ZCBmaXhlZCByYXRlIGFuZCBVRFAgdHJhZmZpYyByYW4gZm9yIDYwCj4gc2Vjb25kcy4KPgo+IFNl ZW1zIGxpa2UgcHVzaCBtb2RlIG5vdCBob25vcmluZyB0aGUgY29uZmlndXJlZCB3ZWlnaHQuIEFs d2F5cyB0aGUKPiBhaXJ0aW1lIHdhcyBhbG1vc3Qgc2FtZSB3aGVyZWFzIGluIHB1bGwtbW9kZSBh aXJ0aW1lIGlzIGNoYW5naW5nIGJhc2VkCj4gb24gY29uZmlndXJlZCB3ZWlnaHQuIEhlbmNlIEkg d291bGQgbGlrZSB0byBrbm93IHlvdXIgcmVzdWx0cy4KClJpZ2h0LCBzbyBJIHZlcmlmaWVkIHRo YXQgdGhlIGN1cnJlbnQgdmVyc2lvbiBvZiB0aGUgcGF0Y2ggc2V0IHN0aWxsCndvcmtzIHdpdGgg YXRoOWsuIEhvd2V2ZXIsIHRoZSBhdGgxMGsgY2FyZCBJIGhhdmUgZG9lc24ndCBzZWVtIHRvCnN1 cHBvcnQgcGVlciBzdGF0cywgc28gSSBjYW4ndCB0ZXN0IGF0aDEway4gCgokIGxzcGNpIHwgZ3Jl cCBRdWFsY29tbQowMzowMC4wIE5ldHdvcmsgY29udHJvbGxlcjogUXVhbGNvbW0gQXRoZXJvcyBR Q0E5ODZ4Lzk4OHggODAyLjExYWMgV2lyZWxlc3MgTmV0d29yayBBZGFwdGVyCgokIGNhdCAvc3lz L2tlcm5lbC9kZWJ1Zy9pZWVlODAyMTEvcGh5MS9hdGgxMGsvY2hpcF9pZCAKMHgwNDMyMDJmZgoK JCBjYXQgL3N5cy9rZXJuZWwvZGVidWcvaWVlZTgwMjExL3BoeTEvYXRoMTBrL3dtaV9zZXJ2aWNl cyAgfCBncmVwIFBFRVIKV01JX1NFUlZJQ0VfUEVFUl9DQUNISU5HICAgICAgICAgICAgICAgICAt CldNSV9TRVJWSUNFX1BFRVJfU1RBVFMgICAgICAgICAgICAgICAgICAgLQoKCklzIHRoZXJlIGEg d2F5IHRvIGZvcmNlLWVuYWJsZSBhaXJ0aW1lIHN1cHBvcnQsIGlzIHRoaXMgYSBoYXJkd2FyZSBp c3N1ZT8KCj4gCQlzdGExCQlzdGEyCQlzdGEzCQlzdGE0Cj4gcHVsbC1tb2RlCThzKDIwNXVzKQkx OHMoMy4ybXMpCThzKDIwNXVzKQkxNHMoNDEwdXMpCj4gCQkxMnMoMjU2dXMpCTEycygyNTZ1cykJ MTNzKDI1NnVzKQkxMnMoMjU2dXMpCj4gCQkxNHMoNG1zKQkxM3MoNG1zKQkxNHMoNG1zKQkxM3Mo NG1zKQo+Cj4gcHVzaC1tb2RlCTE1cygyMDV1cykJMTJzKDMuMm1zKQkxNnMoMjA1dXMpCTEycyg0 MTB1cykKPiAJCTE1cygyNTZ1cykJMTJzKDI1NnVzKQkxNnMoMjU2dXMpCTEycygyNTZ1cykKPiAJ CTE0cyg0bXMpCTEzcyg0bXMpCTE2cyg0bXMpCTEycyg0bXMpCgpSaWdodCwgc28gdGhlIHB1bGwt bW9kZSByZXN1bHRzIGFyZSBlbmNvdXJhZ2luZyEgKlNvbWV0aGluZyogaXMKaGFwcGVuaW5nLCBh dCBsZWFzdCwgZXZlbiB0aG91Z2ggdGhlIGFnZ3JlZ2F0ZSBhaXJ0aW1lIGRvZXNuJ3QgcXVpdGUK bWF0Y2ggdGhlIHJhdGlvcyBvZiB0aGUgY29uZmlndXJlZCB3ZWlnaHRzLgoKQXJlIHlvdSBydW5u aW5nIHRoZSBVRFAgZ2VuZXJhdG9yIG9uIHRoZSBBUCBpdHNlbGYsIG9yIG9uIGEgc2VwYXJhdGUK ZGV2aWNlLCBCVFc/IElmIGl0J3Mgb24gdGhlIEFQLCB0aGUgdXNlcnNwYWNlIHNvY2tldCBjYW4g Z2V0IHRocm90dGxlZCwKd2hpY2ggd2lsbCBpbnRlcmZlcmUgd2l0aCByZXN1bHRzLCBzbyBpdCdz IGJldHRlciB0byBoYXZlIGl0IG9uIGEKc2VwYXJhdGUgZGV2aWNlIChjb25uZWN0ZWQgdmlhIGV0 aGVybmV0KS4KCkFzIGZvciBwdXNoLW1vZGUsIGNvdWxkIHRoaXMgYmUgYmVjYXVzZSBvZiBiYWQg YnVmZmVyIG1hbmFnZW1lbnQ/IEkuZS4sCmJlY2F1c2UgdGhlcmUncyBhIGxhZyBiZXR3ZWVuIHRo ZSB0aW1lIGFpcnRpbWUgaXMgcmVnaXN0ZXJlZCwgYW5kIHRoZQp0aW1lIHRoYXQgYWlydGltZSB1 c2FnZSBpcyByZXBvcnRlZCwgdGhlIGRyaXZlciBqdXN0IHB1c2hlcyBhIHdob2xlCmJ1bmNoIG9m IHBhY2tldHMgdG8gdGhlIGZpcm13YXJlIHdoZW4gaXQgZ2V0cyB0aGUgY2hhbmNlLCB3aGljaCBw cmV2ZW50cwp0aGUgc2NoZWR1bGVyIGZyb20gdGhyb3R0bGluZyBwcm9wZXJseS4gVGhpcyBjb3Vs ZCBhbHNvIGV4cGxhaW4gdGhlCmJldHRlciwgYnV0IG5vdCBxdWl0ZSBwZXJmZWN0LCByZXN1bHRz IGluIHB1bGwgbW9kZSwgYXNzdW1pbmcgdGhhdCBwdWxsCm1vZGUgcmVzdWx0cyBpbiBiZXR0ZXIg ZmlybXdhcmUgYnVmZmVyIG1hbmFnZW1lbnQgd2hpY2ggcmVkdWNlcywgYnV0CmRvZXNuJ3QgcXVp dGUgcmVtb3ZlLCB0aGUgbGFnLgoKSWYgdGhpcyBpcyBpbmRlZWQgdGhlIHJlYXNvbiwgdGhlIHF1 ZXVlIGxpbWl0IHBhdGNoZXMgc2hvdWxkIGhvcGVmdWxseQpiZSBhIHNvbHV0aW9uLiBTbyBndWVz cyB3ZSBuZWVkIHRvIGdldCB0aG9zZSB3b3JraW5nIGFzIHdlbGwgOikKCi1Ub2tlCgpfX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwphdGgxMGsgbWFpbGluZyBs aXN0CmF0aDEwa0BsaXN0cy5pbmZyYWRlYWQub3JnCmh0dHA6Ly9saXN0cy5pbmZyYWRlYWQub3Jn L21haWxtYW4vbGlzdGluZm8vYXRoMTBrCg== From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-1.1 required=3.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SPF_PASS, URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id A2740C0044C for ; Wed, 7 Nov 2018 14:53:11 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 1B26F2085B for ; Wed, 7 Nov 2018 14:53:11 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=toke.dk header.i=@toke.dk header.b="hwkm++i6" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 1B26F2085B Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=toke.dk Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-wireless-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727286AbeKHAXu (ORCPT ); Wed, 7 Nov 2018 19:23:50 -0500 Received: from mail.toke.dk ([52.28.52.200]:37081 "EHLO mail.toke.dk" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726825AbeKHAXu (ORCPT ); Wed, 7 Nov 2018 19:23:50 -0500 From: Toke =?utf-8?Q?H=C3=B8iland-J=C3=B8rgensen?= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=toke.dk; s=20161023; t=1541602388; bh=LSpfdQ4JAPVFZjOgmh02BC0hX8QwebBPMb7KQF90mNU=; h=From:To:Cc:Subject:In-Reply-To:References:Date:From; b=hwkm++i6IkAw6ScyEiUSmweQtDsMPlM9M6iKj0kGqR0khgVh2QKQGlbe8g8RotGiE 2UifCct0dGjGrlpPYkGi/7n4jNK0IotSrp+lXQe0Fj15IETjAaGKEEi/7VF2sHW5MM po4Udm/2YB3ufr9OzOm1kSLCegkxeJWlQJKL23hN+Cgz8p2IJ1MVi57ycBDi1Vfo7A pEtGp9GzPGIcE5XrDlwiTWsS1suEMEF8Mm6w/FsUlGogjPvg8LrF7dM6ad9UNP1FxT UzLSolRYG5kR32BYGCPNAIoqfZwzDbJnLQf0hKt9DpA6YyfkaWM00ojhlNGvBYQJo5 qxUYzHG6Mwn6g== To: Rajkumar Manoharan Cc: linux-wireless@vger.kernel.org, ath10k@lists.infradead.org Subject: Re: [PATCH 3/6] mac80211: Add airtime accounting and scheduling to TXQs In-Reply-To: <10b644b6c7f436a892e3e9f4fd5e179d@codeaurora.org> References: <1540033534-11211-1-git-send-email-rmanohar@codeaurora.org> <1540033534-11211-4-git-send-email-rmanohar@codeaurora.org> <8736ssbxp9.fsf@toke.dk> <9c2b790132a9a89fecd7dd79dc67d891@codeaurora.org> <87woq2843q.fsf@toke.dk> <8fd3524bfe022ccd2a8b61a3314ed32b@codeaurora.org> <5d8415fe50e8505eb62c5a0d1b40bb2a@codeaurora.org> <87h8gzpy9t.fsf@toke.dk> <10b644b6c7f436a892e3e9f4fd5e179d@codeaurora.org> Date: Wed, 07 Nov 2018 15:53:06 +0100 X-Clacks-Overhead: GNU Terry Pratchett Message-ID: <87va59uegc.fsf@toke.dk> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Sender: linux-wireless-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-wireless@vger.kernel.org Rajkumar Manoharan writes: > On 2018-11-02 03:30, Toke H=C3=B8iland-J=C3=B8rgensen wrote: >> Rajkumar Manoharan writes: >>=20 >>> On 2018-10-28 15:01, Rajkumar Manoharan wrote: >>>> On 2018-10-28 08:48, Toke H=C3=B8iland-J=C3=B8rgensen wrote: >>>>> Rajkumar Manoharan writes: >>>>>=20 >>>>>>=20 >>>>>> 4ms 223 (40%) 214 (40%) 109 (10%) 94 (10%) >>>>>>=20 >>>>>> 4ms 337 (90%) 182 (8%) 23 (1%) 30 (1%) >>>>>=20 >>>>> So this looks like it's doing *something*, but not like it's >>>>> succeeding >>>>> in achieving the set percentages. Did you check if the actual=20 >>>>> airtime >>>>> values (in debugfs) corresponds to the configured weights? >>>>>=20 >>>> No. Will check that. >>>>=20 >>> Toke, >>>=20 >>> From above results, different airtime for each station is reflecting=20 >>> on >>> output performance. Unfortunately I don't see such tput difference,=20 >>> when >>> the tx mode is fixed in push-only. Even low weight station is giving >>> same >>> performance. Are you also seeing the same behavior in your setup?=20 >>> Could >>> you please share your results? >>=20 >> Sorry, I've been travelling this week; I'll be back in the office next >> week and can run some tests then. I may also have an idea for a >> different algorithm that will work better in pull mode, but need to see >> if it works at all first :) >>=20 > Wow... :) > > Meanwhile we did some more experiments with both modes. The experiment > was done in open environment and fixed rate and UDP traffic ran for 60 > seconds. > > Seems like push mode not honoring the configured weight. Always the > airtime was almost same whereas in pull-mode airtime is changing based > on configured weight. Hence I would like to know your results. Right, so I verified that the current version of the patch set still works with ath9k. However, the ath10k card I have doesn't seem to support peer stats, so I can't test ath10k.=20 $ lspci | grep Qualcomm 03:00.0 Network controller: Qualcomm Atheros QCA986x/988x 802.11ac Wireless= Network Adapter $ cat /sys/kernel/debug/ieee80211/phy1/ath10k/chip_id=20 0x043202ff $ cat /sys/kernel/debug/ieee80211/phy1/ath10k/wmi_services | grep PEER WMI_SERVICE_PEER_CACHING - WMI_SERVICE_PEER_STATS - Is there a way to force-enable airtime support, is this a hardware issue? > sta1 sta2 sta3 sta4 > pull-mode 8s(205us) 18s(3.2ms) 8s(205us) 14s(410us) > 12s(256us) 12s(256us) 13s(256us) 12s(256us) > 14s(4ms) 13s(4ms) 14s(4ms) 13s(4ms) > > push-mode 15s(205us) 12s(3.2ms) 16s(205us) 12s(410us) > 15s(256us) 12s(256us) 16s(256us) 12s(256us) > 14s(4ms) 13s(4ms) 16s(4ms) 12s(4ms) Right, so the pull-mode results are encouraging! *Something* is happening, at least, even though the aggregate airtime doesn't quite match the ratios of the configured weights. Are you running the UDP generator on the AP itself, or on a separate device, BTW? If it's on the AP, the userspace socket can get throttled, which will interfere with results, so it's better to have it on a separate device (connected via ethernet). As for push-mode, could this be because of bad buffer management? I.e., because there's a lag between the time airtime is registered, and the time that airtime usage is reported, the driver just pushes a whole bunch of packets to the firmware when it gets the chance, which prevents the scheduler from throttling properly. This could also explain the better, but not quite perfect, results in pull mode, assuming that pull mode results in better firmware buffer management which reduces, but doesn't quite remove, the lag. If this is indeed the reason, the queue limit patches should hopefully be a solution. So guess we need to get those working as well :) -Toke