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=-8.4 required=3.0 tests=DKIMWL_WL_MED,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI, SPF_HELO_NONE,SPF_PASS,USER_IN_DEF_DKIM_WL autolearn=no 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 AE17BCA9EB6 for ; Wed, 23 Oct 2019 15:43:17 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 7F4312084C for ; Wed, 23 Oct 2019 15:43:17 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b="MeL78Pzz" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2406845AbfJWPnQ (ORCPT ); Wed, 23 Oct 2019 11:43:16 -0400 Received: from mail-lj1-f195.google.com ([209.85.208.195]:39983 "EHLO mail-lj1-f195.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2404173AbfJWPnQ (ORCPT ); Wed, 23 Oct 2019 11:43:16 -0400 Received: by mail-lj1-f195.google.com with SMTP id u22so3626818lji.7 for ; Wed, 23 Oct 2019 08:43:15 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=Wf7cqgLpHpMCfHDTso2mEEg6iVGE1A3AlSMCK0EZOvI=; b=MeL78PzzFc4GWTGjttUER3eajJiHAfiXzG8G1Xek8riNLS0Akb3EyaIF8kCjplCBvC e8PdIOrGlpPr64UiYnljhSyeNwzpyq1+SmkBqsKNqfnIjx/7/WUm7V18gqSZfq6qXpjy HSSFn0i5dZw0hwcdKmrjoc8j36P/bg/LP5qNws123c15xYetsbls2kJVLs9fGDiHpzTp NTAbYCE9/adTig9wIUFJSciEu5YjcNmNc29oi5wz79zXLWWwMOEF2YCmKSle0etLBDjV RPybKBRkcQRNKCdFp6+vsH/DZ/Jg6//ynFzwearQSIDF3fO2sX+/o3KRHWOwcJvzxVXH 952A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc:content-transfer-encoding; bh=Wf7cqgLpHpMCfHDTso2mEEg6iVGE1A3AlSMCK0EZOvI=; b=SJZ9GgBg/fZvB37fxzt12SQI1/+1tfSOR8mKZjWZDObanprHTKbFjqkIidfQasPXpC ochDJbSnaUHluHrbcOtQVmQ2pqAK60Q2eAycPHaQzvSp/dsvqnGIhb7y6Y1LyLtCMUx8 ZTEaiZfO0o/emMRqOildf5N1bOprcwGLbHhPXLCWm8Uc/j6/efT01CBueqaUbPl/1Byi NjvYduJ3gKl/6vVT7YIaMXx10zzL5Sejts9LGCvDBumqME1iUg2E4FinitKzuLw0swfq My5KV+e5CuTFcZPkp/d8acedVvoilu7r5cE+E5FeM68MC1C4GqNqFiV6ppwQcqyAw2Yc E3Kg== X-Gm-Message-State: APjAAAVMhnhc/1HTdjxoaaTHpVtdARsxN27HumHWSYhbr/LQpeAzM8SG zdOblfGZyoh8+cVzMBwMEJMUXnmp/8fiCv17A58cVA== X-Google-Smtp-Source: APXvYqx3Qvv4PHdZrvwXrE+LY1lvoApw+SX5kuGkePq0Hg3y9W9edqODxW4WERwR4EtQWzHdvirS2CmRTMj3y2hm1yI= X-Received: by 2002:a05:651c:326:: with SMTP id b6mr7678893ljp.119.1571845394424; Wed, 23 Oct 2019 08:43:14 -0700 (PDT) MIME-Version: 1.0 References: <157148503415.2989444.7391437309981941226.stgit@toke.dk> <157148503865.2989444.7118792679603045723.stgit@toke.dk> <871rv5ovwr.fsf@toke.dk> <87tv7znact.fsf@toke.dk> <87lftbn60t.fsf@toke.dk> In-Reply-To: <87lftbn60t.fsf@toke.dk> From: Kan Yan Date: Wed, 23 Oct 2019 08:43:03 -0700 Message-ID: Subject: Re: [PATCH v4 4/4] mac80211: Use Airtime-based Queue Limits (AQL) on packet dequeue To: =?UTF-8?B?VG9rZSBIw7hpbGFuZC1Kw7hyZ2Vuc2Vu?= Cc: Johannes Berg , linux-wireless@vger.kernel.org, Make-Wifi-fast , ath10k@lists.infradead.org, John Crispin , Lorenzo Bianconi , Felix Fietkau , Rajkumar Manoharan , Kevin Hayes 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 > Aha! Turns out I was doing the sta lookup completely wrong in > ieee80211_report_used_skb(); so anything frames that were dropped and > went through there would not get its airtime subtracted correctly. Will > send a v6 with a fix :) Awesome, thanks! That looks very promising. The symptom I see with previous patch is the interface's pending airtime count looks fine, but the station's airtime get wrong, either due to airtime is credited to the wrong station or wrong AC. On Wed, Oct 23, 2019 at 2:52 AM Toke H=C3=B8iland-J=C3=B8rgensen wrote: > > Toke H=C3=B8iland-J=C3=B8rgensen writes: > > > Kan Yan writes: > > > >>> >> + if (ieee80211_is_data_qos(hdr->frame_control)) { > >>> >> + qc =3D ieee80211_get_qos_ctl(hdr); > >>> >> + tid =3D qc[0] & 0xf; > >>> >> + ac =3D ieee80211_ac_from_tid(tid); > >>> >> + } else { > >>> >> + ac =3D IEEE80211_AC_BE; > >>> >> + } > >>> > > >>> > The tid/ac is incorrect either here or in __ieee80211_tx_status() w= hen > >>> > tested with ath10k. The ac is set to AC_BE with test done using BK > >>> > class traffic, hence the pending airtime get updated for the wrong > >>> > txq. > >>> > >>> Huh, well that won't do, obviously :) > >>> > >>> Any idea why it might be wrong? > >> > >> somehow ieee80211_is_data_qos() returns false. Besides, qos_control > >> field doesn't seems to be set in ieee80211_build_hdr(). > >> > >>> Hmm, I guess we could just get the ac using skb_get_queue_mapping(). > >>> I'll send an update with this fixed for you to try :) > >> Thanks for the quick update. It is getting much better, but > >> unfortunately the pending airtime accounting sometimes is still not > >> correct and cause txq stuck occasionally. > > > > OK, so that has to mean that there are packets getting dropped somewher= e > > without going through ieee80211_report_used_skb(). Assuming you're not > > hitting the underflow warnings, just seeing the counter not get back > > down to zero? > > > > Could you see if you can find out if ath10k does that anywhere? I'll go > > hunting in mac80211. > > > > Looking for calls to kfree_skb() or kfree_skb_list() should hopefully > > turn up something... > > Aha! Turns out I was doing the sta lookup completely wrong in > ieee80211_report_used_skb(); so anything frames that were dropped and > went through there would not get its airtime subtracted correctly. Will > send a v6 with a fix :) > > -Toke > From mboxrd@z Thu Jan 1 00:00:00 1970 Return-path: Received: from mail-lj1-x241.google.com ([2a00:1450:4864:20::241]) by bombadil.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1iNIn6-0002yZ-PG for ath10k@lists.infradead.org; Wed, 23 Oct 2019 15:43:18 +0000 Received: by mail-lj1-x241.google.com with SMTP id q78so6506243lje.5 for ; Wed, 23 Oct 2019 08:43:16 -0700 (PDT) MIME-Version: 1.0 References: <157148503415.2989444.7391437309981941226.stgit@toke.dk> <157148503865.2989444.7118792679603045723.stgit@toke.dk> <871rv5ovwr.fsf@toke.dk> <87tv7znact.fsf@toke.dk> <87lftbn60t.fsf@toke.dk> In-Reply-To: <87lftbn60t.fsf@toke.dk> From: Kan Yan Date: Wed, 23 Oct 2019 08:43:03 -0700 Message-ID: Subject: Re: [PATCH v4 4/4] mac80211: Use Airtime-based Queue Limits (AQL) on packet dequeue 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: =?UTF-8?B?VG9rZSBIw7hpbGFuZC1Kw7hyZ2Vuc2Vu?= Cc: Rajkumar Manoharan , Kevin Hayes , Make-Wifi-fast , linux-wireless@vger.kernel.org, ath10k@lists.infradead.org, John Crispin , Johannes Berg , Lorenzo Bianconi , Felix Fietkau PiBBaGEhIFR1cm5zIG91dCBJIHdhcyBkb2luZyB0aGUgc3RhIGxvb2t1cCBjb21wbGV0ZWx5IHdy b25nIGluCj4gaWVlZTgwMjExX3JlcG9ydF91c2VkX3NrYigpOyBzbyBhbnl0aGluZyBmcmFtZXMg dGhhdCB3ZXJlIGRyb3BwZWQgYW5kCj4gd2VudCB0aHJvdWdoIHRoZXJlIHdvdWxkIG5vdCBnZXQg aXRzIGFpcnRpbWUgc3VidHJhY3RlZCBjb3JyZWN0bHkuIFdpbGwKPiBzZW5kIGEgdjYgd2l0aCBh IGZpeCA6KQoKQXdlc29tZSwgdGhhbmtzISBUaGF0IGxvb2tzIHZlcnkgcHJvbWlzaW5nLiAgVGhl IHN5bXB0b20gSSBzZWUgd2l0aApwcmV2aW91cyBwYXRjaCBpcyB0aGUgaW50ZXJmYWNlJ3MgcGVu ZGluZyBhaXJ0aW1lIGNvdW50IGxvb2tzIGZpbmUsCmJ1dCB0aGUgc3RhdGlvbidzIGFpcnRpbWUg Z2V0IHdyb25nLCBlaXRoZXIgZHVlIHRvIGFpcnRpbWUgaXMgY3JlZGl0ZWQKdG8gdGhlIHdyb25n IHN0YXRpb24gb3Igd3JvbmcgQUMuCgpPbiBXZWQsIE9jdCAyMywgMjAxOSBhdCAyOjUyIEFNIFRv a2UgSMO4aWxhbmQtSsO4cmdlbnNlbiA8dG9rZUByZWRoYXQuY29tPiB3cm90ZToKPgo+IFRva2Ug SMO4aWxhbmQtSsO4cmdlbnNlbiA8dG9rZUByZWRoYXQuY29tPiB3cml0ZXM6Cj4KPiA+IEthbiBZ YW4gPGt5YW5AZ29vZ2xlLmNvbT4gd3JpdGVzOgo+ID4KPiA+Pj4gPj4gKyAgICAgICAgICAgICAg IGlmIChpZWVlODAyMTFfaXNfZGF0YV9xb3MoaGRyLT5mcmFtZV9jb250cm9sKSkgewo+ID4+PiA+ PiArICAgICAgICAgICAgICAgICAgICAgICBxYyA9IGllZWU4MDIxMV9nZXRfcW9zX2N0bChoZHIp Owo+ID4+PiA+PiArICAgICAgICAgICAgICAgICAgICAgICB0aWQgPSBxY1swXSAmIDB4ZjsKPiA+ Pj4gPj4gKyAgICAgICAgICAgICAgICAgICAgICAgYWMgPSBpZWVlODAyMTFfYWNfZnJvbV90aWQo dGlkKTsKPiA+Pj4gPj4gKyAgICAgICAgICAgICAgIH0gZWxzZSB7Cj4gPj4+ID4+ICsgICAgICAg ICAgICAgICAgICAgICAgIGFjID0gSUVFRTgwMjExX0FDX0JFOwo+ID4+PiA+PiArICAgICAgICAg ICAgICAgfQo+ID4+PiA+Cj4gPj4+ID4gVGhlIHRpZC9hYyBpcyBpbmNvcnJlY3QgZWl0aGVyIGhl cmUgb3IgaW4gX19pZWVlODAyMTFfdHhfc3RhdHVzKCkgd2hlbgo+ID4+PiA+IHRlc3RlZCB3aXRo IGF0aDEway4gVGhlIGFjIGlzIHNldCB0byBBQ19CRSB3aXRoIHRlc3QgZG9uZSB1c2luZyBCSwo+ ID4+PiA+IGNsYXNzIHRyYWZmaWMsIGhlbmNlIHRoZSBwZW5kaW5nIGFpcnRpbWUgZ2V0IHVwZGF0 ZWQgZm9yIHRoZSB3cm9uZwo+ID4+PiA+IHR4cS4KPiA+Pj4KPiA+Pj4gSHVoLCB3ZWxsIHRoYXQg d29uJ3QgZG8sIG9idmlvdXNseSA6KQo+ID4+Pgo+ID4+PiBBbnkgaWRlYSB3aHkgaXQgbWlnaHQg YmUgd3Jvbmc/Cj4gPj4KPiA+PiBzb21laG93ICBpZWVlODAyMTFfaXNfZGF0YV9xb3MoKSByZXR1 cm5zIGZhbHNlLiBCZXNpZGVzLCAgcW9zX2NvbnRyb2wKPiA+PiBmaWVsZCBkb2Vzbid0IHNlZW1z IHRvIGJlIHNldCBpbiBpZWVlODAyMTFfYnVpbGRfaGRyKCkuCj4gPj4KPiA+Pj4gSG1tLCBJIGd1 ZXNzIHdlIGNvdWxkIGp1c3QgZ2V0IHRoZSBhYyB1c2luZyBza2JfZ2V0X3F1ZXVlX21hcHBpbmco KS4KPiA+Pj4gSSdsbCBzZW5kIGFuIHVwZGF0ZSB3aXRoIHRoaXMgZml4ZWQgZm9yIHlvdSB0byB0 cnkgOikKPiA+PiBUaGFua3MgZm9yIHRoZSBxdWljayB1cGRhdGUuIEl0IGlzIGdldHRpbmcgbXVj aCBiZXR0ZXIsIGJ1dAo+ID4+IHVuZm9ydHVuYXRlbHkgdGhlIHBlbmRpbmcgYWlydGltZSBhY2Nv dW50aW5nIHNvbWV0aW1lcyBpcyBzdGlsbCBub3QKPiA+PiBjb3JyZWN0IGFuZCBjYXVzZSB0eHEg c3R1Y2sgb2NjYXNpb25hbGx5Lgo+ID4KPiA+IE9LLCBzbyB0aGF0IGhhcyB0byBtZWFuIHRoYXQg dGhlcmUgYXJlIHBhY2tldHMgZ2V0dGluZyBkcm9wcGVkIHNvbWV3aGVyZQo+ID4gd2l0aG91dCBn b2luZyB0aHJvdWdoIGllZWU4MDIxMV9yZXBvcnRfdXNlZF9za2IoKS4gQXNzdW1pbmcgeW91J3Jl IG5vdAo+ID4gaGl0dGluZyB0aGUgdW5kZXJmbG93IHdhcm5pbmdzLCBqdXN0IHNlZWluZyB0aGUg Y291bnRlciBub3QgZ2V0IGJhY2sKPiA+IGRvd24gdG8gemVybz8KPiA+Cj4gPiBDb3VsZCB5b3Ug c2VlIGlmIHlvdSBjYW4gZmluZCBvdXQgaWYgYXRoMTBrIGRvZXMgdGhhdCBhbnl3aGVyZT8gSSds bCBnbwo+ID4gaHVudGluZyBpbiBtYWM4MDIxMS4KPiA+Cj4gPiBMb29raW5nIGZvciBjYWxscyB0 byBrZnJlZV9za2IoKSBvciBrZnJlZV9za2JfbGlzdCgpIHNob3VsZCBob3BlZnVsbHkKPiA+IHR1 cm4gdXAgc29tZXRoaW5nLi4uCj4KPiBBaGEhIFR1cm5zIG91dCBJIHdhcyBkb2luZyB0aGUgc3Rh IGxvb2t1cCBjb21wbGV0ZWx5IHdyb25nIGluCj4gaWVlZTgwMjExX3JlcG9ydF91c2VkX3NrYigp OyBzbyBhbnl0aGluZyBmcmFtZXMgdGhhdCB3ZXJlIGRyb3BwZWQgYW5kCj4gd2VudCB0aHJvdWdo IHRoZXJlIHdvdWxkIG5vdCBnZXQgaXRzIGFpcnRpbWUgc3VidHJhY3RlZCBjb3JyZWN0bHkuIFdp bGwKPiBzZW5kIGEgdjYgd2l0aCBhIGZpeCA6KQo+Cj4gLVRva2UKPgoKX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KYXRoMTBrIG1haWxpbmcgbGlzdAphdGgx MGtAbGlzdHMuaW5mcmFkZWFkLm9yZwpodHRwOi8vbGlzdHMuaW5mcmFkZWFkLm9yZy9tYWlsbWFu L2xpc3RpbmZvL2F0aDEwawo=