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=-0.8 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS 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 B65D2C5DF60 for ; Fri, 8 Nov 2019 10:07:45 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 927462178F for ; Fri, 8 Nov 2019 10:07:45 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1730719AbfKHKHo (ORCPT ); Fri, 8 Nov 2019 05:07:44 -0500 Received: from s3.sipsolutions.net ([144.76.43.62]:53518 "EHLO sipsolutions.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1729873AbfKHKHo (ORCPT ); Fri, 8 Nov 2019 05:07:44 -0500 Received: by sipsolutions.net with esmtpsa (TLS1.3:ECDHE_SECP256R1__RSA_PSS_RSAE_SHA256__AES_256_GCM:256) (Exim 4.92.3) (envelope-from ) id 1iT1B8-0007Tw-FM; Fri, 08 Nov 2019 11:07:42 +0100 Message-ID: <42266e95f45d5772e04c9c016bd6179ea14ffefa.camel@sipsolutions.net> Subject: Re: [PATCH v6 2/4] mac80211: Import airtime calculation code from mt76 From: Johannes Berg To: Toke =?ISO-8859-1?Q?H=F8iland-J=F8rgensen?= Cc: linux-wireless@vger.kernel.org, make-wifi-fast@lists.bufferbloat.net, ath10k@lists.infradead.org, John Crispin , Lorenzo Bianconi , Felix Fietkau , Kan Yan , Rajkumar Manoharan , Kevin Hayes Date: Fri, 08 Nov 2019 11:07:41 +0100 In-Reply-To: <157182474174.150713.17459330922820192258.stgit@toke.dk> References: <157182473951.150713.7978051149956899705.stgit@toke.dk> <157182474174.150713.17459330922820192258.stgit@toke.dk> Content-Type: text/plain; charset="UTF-8" User-Agent: Evolution 3.30.5 (3.30.5-1.fc29) MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Sender: linux-wireless-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-wireless@vger.kernel.org On Wed, 2019-10-23 at 11:59 +0200, Toke Høiland-Jørgensen wrote: > From: Toke Høiland-Jørgensen > > Felix recently added code to calculate airtime of packets to the mt76 > driver. Import this into mac80211 so we can use it for airtime queue limit > calculations later. > > The airtime.c file is copied verbatim from the mt76 driver, and adjusted to > use mac80211 data structures instead (which is fairly straight forward). > The per-rate TX rate calculation is split out to its own > function (ieee80211_calc_tx_airtime_rate()) so it can be used directly for > the AQL calculations added in a subsequent patch. Any way it could be exposed by mac80211 back to the drivers, perhaps, to share it? > The only thing that it was not possible to port directly was the bit that > read the internal driver flags of struct ieee80211_rate to determine > whether a rate is using CCK or OFDM encoding. Instead, just look at the > rate index, since at least mt76 and ath10k both seem to have the same > number of CCK rates (4) in their tables. This is highly questionable ... > + switch (status->encoding) { > + case RX_ENC_LEGACY: > + if (WARN_ON_ONCE(status->band > NL80211_BAND_5GHZ)) > + return 0; > + > + sband = hw->wiphy->bands[status->band]; > + if (!sband || status->rate_idx > sband->n_bitrates) > + return 0; > + > + rate = &sband->bitrates[status->rate_idx]; > + cck = (status->rate_idx < CCK_NUM_RATES); Why not cck = rate->flags & IEEE80211_RATE_MANDATORY_B; I mean .. we know that IEEE80211_RATE_MANDATORY_B rates are exactly the CCK rates, and that's not really going to change? Alternatively, we could do cck = sband->band == NL80211_BAND_2GHZ && !(rate->flags & IEEE80211_RATE_ERP_G); or even cck = rate->bitrate == 10 || rate->bitrate == 20 || rate->bitrate == 55 || rate->bitrate == 110; :) > + default: > + WARN_ON_ONCE(1); You can't do that in mac80211 either. That might be fine for mt76, but mac80211 already supports HE. johannes From mboxrd@z Thu Jan 1 00:00:00 1970 Return-path: Received: from s3.sipsolutions.net ([2a01:4f8:191:4433::2] helo=sipsolutions.net) by bombadil.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1iT1BC-0001Pl-Qs for ath10k@lists.infradead.org; Fri, 08 Nov 2019 10:07:48 +0000 Message-ID: <42266e95f45d5772e04c9c016bd6179ea14ffefa.camel@sipsolutions.net> Subject: Re: [PATCH v6 2/4] mac80211: Import airtime calculation code from mt76 From: Johannes Berg Date: Fri, 08 Nov 2019 11:07:41 +0100 In-Reply-To: <157182474174.150713.17459330922820192258.stgit@toke.dk> References: <157182473951.150713.7978051149956899705.stgit@toke.dk> <157182474174.150713.17459330922820192258.stgit@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: Toke =?ISO-8859-1?Q?H=F8iland-J=F8rgensen?= Cc: Kan Yan , Rajkumar Manoharan , Kevin Hayes , make-wifi-fast@lists.bufferbloat.net, linux-wireless@vger.kernel.org, ath10k@lists.infradead.org, John Crispin , Lorenzo Bianconi , Felix Fietkau T24gV2VkLCAyMDE5LTEwLTIzIGF0IDExOjU5ICswMjAwLCBUb2tlIEjDuGlsYW5kLUrDuHJnZW5z ZW4gd3JvdGU6Cj4gRnJvbTogVG9rZSBIw7hpbGFuZC1Kw7hyZ2Vuc2VuIDx0b2tlQHJlZGhhdC5j b20+Cj4gCj4gRmVsaXggcmVjZW50bHkgYWRkZWQgY29kZSB0byBjYWxjdWxhdGUgYWlydGltZSBv ZiBwYWNrZXRzIHRvIHRoZSBtdDc2Cj4gZHJpdmVyLiBJbXBvcnQgdGhpcyBpbnRvIG1hYzgwMjEx IHNvIHdlIGNhbiB1c2UgaXQgZm9yIGFpcnRpbWUgcXVldWUgbGltaXQKPiBjYWxjdWxhdGlvbnMg bGF0ZXIuCj4gCj4gVGhlIGFpcnRpbWUuYyBmaWxlIGlzIGNvcGllZCB2ZXJiYXRpbSBmcm9tIHRo ZSBtdDc2IGRyaXZlciwgYW5kIGFkanVzdGVkIHRvCj4gdXNlIG1hYzgwMjExIGRhdGEgc3RydWN0 dXJlcyBpbnN0ZWFkICh3aGljaCBpcyBmYWlybHkgc3RyYWlnaHQgZm9yd2FyZCkuCj4gVGhlIHBl ci1yYXRlIFRYIHJhdGUgY2FsY3VsYXRpb24gaXMgc3BsaXQgb3V0IHRvIGl0cyBvd24KPiBmdW5j dGlvbiAoaWVlZTgwMjExX2NhbGNfdHhfYWlydGltZV9yYXRlKCkpIHNvIGl0IGNhbiBiZSB1c2Vk IGRpcmVjdGx5IGZvcgo+IHRoZSBBUUwgY2FsY3VsYXRpb25zIGFkZGVkIGluIGEgc3Vic2VxdWVu dCBwYXRjaC4KCkFueSB3YXkgaXQgY291bGQgYmUgZXhwb3NlZCBieSBtYWM4MDIxMSBiYWNrIHRv IHRoZSBkcml2ZXJzLCBwZXJoYXBzLCB0bwpzaGFyZSBpdD8KCj4gVGhlIG9ubHkgdGhpbmcgdGhh dCBpdCB3YXMgbm90IHBvc3NpYmxlIHRvIHBvcnQgZGlyZWN0bHkgd2FzIHRoZSBiaXQgdGhhdAo+ IHJlYWQgdGhlIGludGVybmFsIGRyaXZlciBmbGFncyBvZiBzdHJ1Y3QgaWVlZTgwMjExX3JhdGUg dG8gZGV0ZXJtaW5lCj4gd2hldGhlciBhIHJhdGUgaXMgdXNpbmcgQ0NLIG9yIE9GRE0gZW5jb2Rp bmcuIEluc3RlYWQsIGp1c3QgbG9vayBhdCB0aGUKPiByYXRlIGluZGV4LCBzaW5jZSBhdCBsZWFz dCBtdDc2IGFuZCBhdGgxMGsgYm90aCBzZWVtIHRvIGhhdmUgdGhlIHNhbWUKPiBudW1iZXIgb2Yg Q0NLIHJhdGVzICg0KSBpbiB0aGVpciB0YWJsZXMuCgpUaGlzIGlzIGhpZ2hseSBxdWVzdGlvbmFi bGUgLi4uCgo+ICsJc3dpdGNoIChzdGF0dXMtPmVuY29kaW5nKSB7Cj4gKwljYXNlIFJYX0VOQ19M RUdBQ1k6Cj4gKwkJaWYgKFdBUk5fT05fT05DRShzdGF0dXMtPmJhbmQgPiBOTDgwMjExX0JBTkRf NUdIWikpCj4gKwkJCXJldHVybiAwOwo+ICsKPiArCQlzYmFuZCA9IGh3LT53aXBoeS0+YmFuZHNb c3RhdHVzLT5iYW5kXTsKPiArCQlpZiAoIXNiYW5kIHx8IHN0YXR1cy0+cmF0ZV9pZHggPiBzYmFu ZC0+bl9iaXRyYXRlcykKPiArCQkJcmV0dXJuIDA7Cj4gKwo+ICsJCXJhdGUgPSAmc2JhbmQtPmJp dHJhdGVzW3N0YXR1cy0+cmF0ZV9pZHhdOwo+ICsJCWNjayA9IChzdGF0dXMtPnJhdGVfaWR4IDwg Q0NLX05VTV9SQVRFUyk7CgpXaHkgbm90CgoJY2NrID0gcmF0ZS0+ZmxhZ3MgJiBJRUVFODAyMTFf UkFURV9NQU5EQVRPUllfQjsKCkkgbWVhbiAuLiB3ZSBrbm93IHRoYXQgSUVFRTgwMjExX1JBVEVf TUFOREFUT1JZX0IgcmF0ZXMgYXJlIGV4YWN0bHkgdGhlCkNDSyByYXRlcywgYW5kIHRoYXQncyBu b3QgcmVhbGx5IGdvaW5nIHRvIGNoYW5nZT8KCkFsdGVybmF0aXZlbHksIHdlIGNvdWxkIGRvCgoJ Y2NrID0gc2JhbmQtPmJhbmQgPT0gTkw4MDIxMV9CQU5EXzJHSFogJiYKCSAgICAgICEocmF0ZS0+ ZmxhZ3MgJiBJRUVFODAyMTFfUkFURV9FUlBfRyk7CgpvciBldmVuCgoJY2NrID0gcmF0ZS0+Yml0 cmF0ZSA9PSAxMCB8fCByYXRlLT5iaXRyYXRlID09IDIwIHx8CgkgICAgICByYXRlLT5iaXRyYXRl ID09IDU1IHx8IHJhdGUtPmJpdHJhdGUgPT0gMTEwOwoKOikKCj4gKwlkZWZhdWx0Ogo+ICsJCVdB Uk5fT05fT05DRSgxKTsKCllvdSBjYW4ndCBkbyB0aGF0IGluIG1hYzgwMjExIGVpdGhlci4gVGhh dCBtaWdodCBiZSBmaW5lIGZvciBtdDc2LCBidXQKbWFjODAyMTEgYWxyZWFkeSBzdXBwb3J0cyBI RS4KCmpvaGFubmVzCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX18KYXRoMTBrIG1haWxpbmcgbGlzdAphdGgxMGtAbGlzdHMuaW5mcmFkZWFkLm9yZwpodHRw Oi8vbGlzdHMuaW5mcmFkZWFkLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2F0aDEwawo=