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 1gKkdZ-0007Hk-Bq for ath10k@lists.infradead.org; Thu, 08 Nov 2018 13:46:23 +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: 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> <87va59uegc.fsf@toke.dk> Date: Thu, 08 Nov 2018 14:46:06 +0100 Message-ID: <874lcrvg0x.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-owner@vger.kernel.org, linux-wireless@vger.kernel.org, ath10k@lists.infradead.org UmFqa3VtYXIgTWFub2hhcmFuIDxybWFub2hhckBjb2RlYXVyb3JhLm9yZz4gd3JpdGVzOgoKPiBP biAyMDE4LTExLTA3IDA2OjUzLCBUb2tlIEjDuGlsYW5kLUrDuHJnZW5zZW4gd3JvdGU6Cj4+IFJh amt1bWFyIE1hbm9oYXJhbiA8cm1hbm9oYXJAY29kZWF1cm9yYS5vcmc+IHdyaXRlczoKPj4gCj4+ PiBNZWFud2hpbGUgd2UgZGlkIHNvbWUgbW9yZSBleHBlcmltZW50cyB3aXRoIGJvdGggbW9kZXMu IFRoZSBleHBlcmltZW50Cj4+PiB3YXMgZG9uZSBpbiBvcGVuIGVudmlyb25tZW50IGFuZCBmaXhl ZCByYXRlIGFuZCBVRFAgdHJhZmZpYyByYW4gZm9yIDYwCj4+PiBzZWNvbmRzLgo+Pj4gCj4+PiBT ZWVtcyBsaWtlIHB1c2ggbW9kZSBub3QgaG9ub3JpbmcgdGhlIGNvbmZpZ3VyZWQgd2VpZ2h0LiBB bHdheXMgdGhlCj4+PiBhaXJ0aW1lIHdhcyBhbG1vc3Qgc2FtZSB3aGVyZWFzIGluIHB1bGwtbW9k ZSBhaXJ0aW1lIGlzIGNoYW5naW5nIGJhc2VkCj4+PiBvbiBjb25maWd1cmVkIHdlaWdodC4gSGVu Y2UgSSB3b3VsZCBsaWtlIHRvIGtub3cgeW91ciByZXN1bHRzLgo+PiAKPj4gUmlnaHQsIHNvIEkg dmVyaWZpZWQgdGhhdCB0aGUgY3VycmVudCB2ZXJzaW9uIG9mIHRoZSBwYXRjaCBzZXQgc3RpbGwK Pj4gd29ya3Mgd2l0aCBhdGg5ay4gSG93ZXZlciwgdGhlIGF0aDEwayBjYXJkIEkgaGF2ZSBkb2Vz bid0IHNlZW0gdG8KPj4gc3VwcG9ydCBwZWVyIHN0YXRzLCBzbyBJIGNhbid0IHRlc3QgYXRoMTBr Lgo+PiAKPj4gJCBsc3BjaSB8IGdyZXAgUXVhbGNvbW0KPj4gMDM6MDAuMCBOZXR3b3JrIGNvbnRy b2xsZXI6IFF1YWxjb21tIEF0aGVyb3MgUUNBOTg2eC85ODh4IDgwMi4xMWFjCj4+IFdpcmVsZXNz IE5ldHdvcmsgQWRhcHRlcgo+PiAKPj4gJCBjYXQgL3N5cy9rZXJuZWwvZGVidWcvaWVlZTgwMjEx L3BoeTEvYXRoMTBrL2NoaXBfaWQKPj4gMHgwNDMyMDJmZgo+PiAKPj4gJCBjYXQgL3N5cy9rZXJu ZWwvZGVidWcvaWVlZTgwMjExL3BoeTEvYXRoMTBrL3dtaV9zZXJ2aWNlcyAgfCBncmVwIFBFRVIK Pj4gV01JX1NFUlZJQ0VfUEVFUl9DQUNISU5HICAgICAgICAgICAgICAgICAtCj4+IFdNSV9TRVJW SUNFX1BFRVJfU1RBVFMgICAgICAgICAgICAgICAgICAgLQo+PiAKPgo+IE9vcHMuLi4gWWVhaCA5 ODh4IGZpcm13YXJlICgxMC4yLjQpIGRvZXMgbm90IGhhdmUgcGVlciBzdGF0cyBzdXBwb3J0Lgo+ Cj4+IAo+PiBJcyB0aGVyZSBhIHdheSB0byBmb3JjZS1lbmFibGUgYWlydGltZSBzdXBwb3J0LCBp cyB0aGlzIGEgaGFyZHdhcmUgCj4+IGlzc3VlPwo+PiAKPiBVbmZvcnR1bmF0ZWx5IG5vdC4gVGhl cmUgaXMgb25lIG1vcmUgcGVuZGluZyBjaGFuZ2UgdGhhdCBoYW5kbGVzCj4gYWlydGltZSByZXBv cnQgZnJvbSBIVFQgdHgtY29tcGwuIEFnYWluIGl0IGRlcGVuZHMgZmlybXdhcmUgc3VwcG9ydC4K PiBUaGVzZSBleHBlcmltZW50cyBhcmUgdGFrZW4gd2l0aCB0aGlzIGYvdyBpbnRlcmZhY2UuIFdp bGwgcG9zdCB0aGUKPiBjaGFuZ2UuCgpSaWdodCwgdGhvdWdodCBzby4gVG9vIGJhZC4gR3Vlc3Mg eW91IGFyZSBkb2luZyBhbGwgdGhlIGF0aDEwayB0ZXN0aW5nLAp0aGVuIDspCgo+Pj4gCQlzdGEx CQlzdGEyCQlzdGEzCQlzdGE0Cj4+PiBwdWxsLW1vZGUJOHMoMjA1dXMpCTE4cygzLjJtcykJOHMo MjA1dXMpCTE0cyg0MTB1cykKPj4+IAkJMTJzKDI1NnVzKQkxMnMoMjU2dXMpCTEzcygyNTZ1cykJ MTJzKDI1NnVzKQo+Pj4gCQkxNHMoNG1zKQkxM3MoNG1zKQkxNHMoNG1zKQkxM3MoNG1zKQo+Pj4g Cj4+PiBwdXNoLW1vZGUJMTVzKDIwNXVzKQkxMnMoMy4ybXMpCTE2cygyMDV1cykJMTJzKDQxMHVz KQo+Pj4gCQkxNXMoMjU2dXMpCTEycygyNTZ1cykJMTZzKDI1NnVzKQkxMnMoMjU2dXMpCj4+PiAJ CTE0cyg0bXMpCTEzcyg0bXMpCTE2cyg0bXMpCTEycyg0bXMpCj4+IAo+PiBSaWdodCwgc28gdGhl IHB1bGwtbW9kZSByZXN1bHRzIGFyZSBlbmNvdXJhZ2luZyEgKlNvbWV0aGluZyogaXMKPj4gaGFw cGVuaW5nLCBhdCBsZWFzdCwgZXZlbiB0aG91Z2ggdGhlIGFnZ3JlZ2F0ZSBhaXJ0aW1lIGRvZXNu J3QgcXVpdGUKPj4gbWF0Y2ggdGhlIHJhdGlvcyBvZiB0aGUgY29uZmlndXJlZCB3ZWlnaHRzLgo+ PiAKPj4gQXJlIHlvdSBydW5uaW5nIHRoZSBVRFAgZ2VuZXJhdG9yIG9uIHRoZSBBUCBpdHNlbGYs IG9yIG9uIGEgc2VwYXJhdGUKPj4gZGV2aWNlLCBCVFc/IElmIGl0J3Mgb24gdGhlIEFQLCB0aGUg dXNlcnNwYWNlIHNvY2tldCBjYW4gZ2V0IHRocm90dGxlZCwKPj4gd2hpY2ggd2lsbCBpbnRlcmZl cmUgd2l0aCByZXN1bHRzLCBzbyBpdCdzIGJldHRlciB0byBoYXZlIGl0IG9uIGEKPj4gc2VwYXJh dGUgZGV2aWNlIChjb25uZWN0ZWQgdmlhIGV0aGVybmV0KS4KPj4gCj4gVHJhZmZpYyBiL3cgd2ly ZWQgY2xpZW50ICh2aWEgZXRoZXJuZXQpIGFuZCB3aXJlbGVzcyBjbGllbnRzLgoKQ29vbC4KCj4+ IEFzIGZvciBwdXNoLW1vZGUsIGNvdWxkIHRoaXMgYmUgYmVjYXVzZSBvZiBiYWQgYnVmZmVyIG1h bmFnZW1lbnQ/IEkuZS4sCj4+IGJlY2F1c2UgdGhlcmUncyBhIGxhZyBiZXR3ZWVuIHRoZSB0aW1l IGFpcnRpbWUgaXMgcmVnaXN0ZXJlZCwgYW5kIHRoZQo+PiB0aW1lIHRoYXQgYWlydGltZSB1c2Fn ZSBpcyByZXBvcnRlZCwgdGhlIGRyaXZlciBqdXN0IHB1c2hlcyBhIHdob2xlCj4+IGJ1bmNoIG9m IHBhY2tldHMgdG8gdGhlIGZpcm13YXJlIHdoZW4gaXQgZ2V0cyB0aGUgY2hhbmNlLCB3aGljaCAK Pj4gcHJldmVudHMKPj4gdGhlIHNjaGVkdWxlciBmcm9tIHRocm90dGxpbmcgcHJvcGVybHkuIFRo aXMgY291bGQgYWxzbyBleHBsYWluIHRoZQo+PiBiZXR0ZXIsIGJ1dCBub3QgcXVpdGUgcGVyZmVj dCwgcmVzdWx0cyBpbiBwdWxsIG1vZGUsIGFzc3VtaW5nIHRoYXQgcHVsbAo+PiBtb2RlIHJlc3Vs dHMgaW4gYmV0dGVyIGZpcm13YXJlIGJ1ZmZlciBtYW5hZ2VtZW50IHdoaWNoIHJlZHVjZXMsIGJ1 dAo+PiBkb2Vzbid0IHF1aXRlIHJlbW92ZSwgdGhlIGxhZy4KPj4gCj4gSG1tLi4uIEkgYWdyZWUg dGhhdCBsYWcgaW4gcmVwb3J0aW5nIGFpcnRpbWUgbWF5IGNhdXNlIG1vcmUgZGF0YSBwdXNoCj4g dG8gaHcuIFJpZ2h0IG5vdyBib3RoIHR4IGFuZCB0eC1jb21wbCBhcmUgc2VyaWFsaXplZCBieQo+ IGFjdGl2ZV90eHFfbG9jay4gU28gb25jZSBsb2NrIGFjcXVpcmVkIGJ5IHR4IHBhdGgsIGl0IHdp bGwgZG93bmxvYWQKPiBhbGwgZnJhbWVzLiBpLmUgaXQgaXMgZXZlbiB0cnVlIGZvciBhdGg5ayBk cml2ZXIuIEhlbmNlIEkgYW0gd29uZGVyaW5nCj4gaG93IGl0IGlzIHdvcmtpbmcgb25seSB3aXRo IGF0aDlrLgoKSWYgZW5vdWdoIHBhY2tldHMgYXJlIGRlcXVldWVkIGF0IG9uY2UgdGhhdCB0aGUg VFhRIGVtcHRpZXMgYW5kIGlzIG5vdApwdXQgYmFjayBvbiB0aGUgc2NoZWR1bGluZyBsb29wLCB0 aGUgbmV4dF90eHEoKSBsb29wIGlzIGp1c3QgZ29pbmcgdG8KbG9vcCB0aHJvdWdoIHRoZSByZW1h aW5pbmcgVFhRcyBhbmQgaW1tZWRpYXRlbHkgaW5jcmVhc2UgdGhlaXIgcXVhbnR1bS4KSW4gYXRo OWssIHRoZXJlJ3MgYSBtYXhpbXVtIG9mIHR3byBvdXRzdGFuZGluZyBhZ2dyZWdhdGVzIGJlbG93 IHRoZSBUWFEKbGV2ZWwsIGJ1dCBJIHRoaW5rIHlvdSBtZW50aW9uZWQgdGhhdCBhdGgxMGsgY2Fu IHF1ZXVlIHRob3VzYW5kcyBpbgpmaXJtd2FyZT8KCllvdXIgcGF0Y2ggcmVtb3ZlcyB0aGUgJ21h eCAxNiBwYWNrZXRzIGF0IGEgdGltZScgY2hlY2sgYmVmb3JlIHRoZSBjYWxsCnRvIGF0aDEwa19t YWNfdHhfcHVzaF90eHEoKTsgdHJ5IGFkZGluZyB0aGF0IGJhY2sgYW5kIHNlZSBpZiBpdCBoZWxw cz8KCj4+IElmIHRoaXMgaXMgaW5kZWVkIHRoZSByZWFzb24sIHRoZSBxdWV1ZSBsaW1pdCBwYXRj aGVzIHNob3VsZCBob3BlZnVsbHkKPj4gYmUgYSBzb2x1dGlvbi4gU28gZ3Vlc3Mgd2UgbmVlZCB0 byBnZXQgdGhvc2Ugd29ya2luZyBhcyB3ZWxsIDopCj4+IAo+IEkgd291bGQgcHJlZmVyIHRvIGJh c2VsaW5lIHRoZSBiYXNpYyBpbmZyYSBpbnRvIHVwc3RyZWFtIGZpcnN0IGFuZCBkbwo+IGVuaGFu Y2VtZW50IG9uIHRvcCBvZiB0aGF0LgoKU3VyZSwgSSdtIGZpbmUgd2l0aCBtZXJnaW5nIHRoaXMg Zmlyc3QgYW5kIGJ1aWxkaW5nIG9uIHRvcC4KCj4gSSByZXF1ZXN0IHlvdSB0byByZXZpc2l0IG1h aW50YWluaW5nIHBlciBkcml2ZXIgZGVmYXVsdC4gT3RoZXJ3aXNlCj4gdGhlcmUgd291bGQgYmUg cGVyZm9ybWFuY2UgaW1wYWN0IHdpdGggMjU2dXMuIDooCgpIbW0sIGhvdyBhYm91dCB3ZSBtYWtl IGl0IGEgZHJpdmVyLXNwZWNpZmllZCBtdWx0aXBsaWVyIGluc3RlYWQgKHdoaWNoCmNvdWxkIGJl IDQsIDggb3IgMTYgZm9yIGF0aDEwayk/IFRoYXQgd2F5IGl0IHdvdWxkIHN0aWxsIHdvcmsgZXZl biBpZgp1c2Vyc3BhY2UgY2hhbmdlcyB0aGUgd2VpZ2h0cy4gSXQgd291bGQgYWZmZWN0IHRoZSBt aW5pbXVtIHBvc3NpYmxlCmdyYW51bGFyaXR5LCBidXQgdGhhdCBpcyBwcm9iYWJseSBhY2NlcHRh YmxlOyBhbmQgd2Ugd291bGQgYmUgZnJlZSB0bwpjaGFuZ2UgdGhlIG1lY2hhbmlzbSBsYXRlciwg d2l0aG91dCBhZmZlY3RpbmcgdGhlIHVzZXJzcGFjZSBBUEkuCgotVG9rZQoKX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KYXRoMTBrIG1haWxpbmcgbGlzdAph dGgxMGtAbGlzdHMuaW5mcmFkZWFkLm9yZwpodHRwOi8vbGlzdHMuaW5mcmFkZWFkLm9yZy9tYWls bWFuL2xpc3RpbmZvL2F0aDEwawo= 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 B7ACCECDE47 for ; Thu, 8 Nov 2018 13:46:10 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 771EF20825 for ; Thu, 8 Nov 2018 13:46:10 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=toke.dk header.i=@toke.dk header.b="Omk4p5Ro" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 771EF20825 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 S1727042AbeKHXVm (ORCPT ); Thu, 8 Nov 2018 18:21:42 -0500 Received: from mail.toke.dk ([52.28.52.200]:36221 "EHLO mail.toke.dk" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727038AbeKHXVm (ORCPT ); Thu, 8 Nov 2018 18:21:42 -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=1541684767; bh=BbP4htCdPNdlVee+3vPB014QlGVnQwVlMsYaljhRpwY=; h=From:To:Cc:Subject:In-Reply-To:References:Date:From; b=Omk4p5RoXq0eCQBBHsEUkqIoJDOPPjHID+syI7hgd8FtRMlO2U9DADYwzbtKnatxZ sUtxXo920DzrVhI0U4vHVvWaxisv/zzUkVxy+QVADTjtK2yPeuk6zvIYkk/Y8vB+JK t3YBpSS6n8R66jqg0i6MWMXAJcDv1IjvbAREZSiddIaUsHldANhgkZnb1G5R57jkDj eTn80QVCeXPJ5haTGYeGa7QnPlb0M4uQWDAeKSsXwTOF1GdQCNrP+cGZeF1l1JmGfm wMxx59iy5Vs7EDNxHLk85E0804QTARIWLzmBEFZMWZjai34/p7GBDyrX0S4BuRpO00 vpWCKojuFSGtg== To: Rajkumar Manoharan Cc: linux-wireless@vger.kernel.org, ath10k@lists.infradead.org, linux-wireless-owner@vger.kernel.org Subject: Re: [PATCH 3/6] mac80211: Add airtime accounting and scheduling to TXQs In-Reply-To: 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> <87va59uegc.fsf@toke.dk> Date: Thu, 08 Nov 2018 14:46:06 +0100 X-Clacks-Overhead: GNU Terry Pratchett Message-ID: <874lcrvg0x.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-07 06:53, Toke H=C3=B8iland-J=C3=B8rgensen wrote: >> Rajkumar Manoharan writes: >>=20 >>> 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. >>>=20 >>> 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. >>=20 >> 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 >>=20 >> $ cat /sys/kernel/debug/ieee80211/phy1/ath10k/chip_id >> 0x043202ff >>=20 >> $ cat /sys/kernel/debug/ieee80211/phy1/ath10k/wmi_services | grep PEER >> WMI_SERVICE_PEER_CACHING - >> WMI_SERVICE_PEER_STATS - >>=20 > > Oops... Yeah 988x firmware (10.2.4) does not have peer stats support. > >>=20 >> Is there a way to force-enable airtime support, is this a hardware=20 >> issue? >>=20 > Unfortunately not. There is one more pending change that handles > airtime report from HTT tx-compl. Again it depends firmware support. > These experiments are taken with this f/w interface. Will post the > change. Right, thought so. Too bad. Guess you are doing all the ath10k testing, then ;) >>> 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) >>>=20 >>> 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) >>=20 >> 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. >>=20 >> 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). >>=20 > Traffic b/w wired client (via ethernet) and wireless clients. Cool. >> 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=20 >> 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. >>=20 > Hmm... I agree that lag in reporting airtime may cause more data push > to hw. Right now both tx and tx-compl are serialized by > active_txq_lock. So once lock acquired by tx path, it will download > all frames. i.e it is even true for ath9k driver. Hence I am wondering > how it is working only with ath9k. If enough packets are dequeued at once that the TXQ empties and is not put back on the scheduling loop, the next_txq() loop is just going to loop through the remaining TXQs and immediately increase their quantum. In ath9k, there's a maximum of two outstanding aggregates below the TXQ level, but I think you mentioned that ath10k can queue thousands in firmware? Your patch removes the 'max 16 packets at a time' check before the call to ath10k_mac_tx_push_txq(); try adding that back and see if it helps? >> 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 :) >>=20 > I would prefer to baseline the basic infra into upstream first and do > enhancement on top of that. Sure, I'm fine with merging this first and building on top. > I request you to revisit maintaining per driver default. Otherwise > there would be performance impact with 256us. :( Hmm, how about we make it a driver-specified multiplier instead (which could be 4, 8 or 16 for ath10k)? That way it would still work even if userspace changes the weights. It would affect the minimum possible granularity, but that is probably acceptable; and we would be free to change the mechanism later, without affecting the userspace API. -Toke