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 1f14JY-0008HS-4q for ath10k@lists.infradead.org; Wed, 28 Mar 2018 06:12:05 +0000 MIME-Version: 1.0 Date: Wed, 28 Mar 2018 11:41:51 +0530 From: akolli@codeaurora.org Subject: Re: [PATCH v2] ath10k: Implement get_expected_throughput callback In-Reply-To: <2322769.sx4MhzsvNg@bentobox> References: <1521814034-17880-1-git-send-email-akolli@codeaurora.org> <2322769.sx4MhzsvNg@bentobox> Message-ID: <7428dc3685e146dca147805b6a1bc5d2@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: Sven Eckelmann Cc: Marek Lindner , Johannes Berg , linux-wireless-owner@vger.kernel.org, linux-wireless@vger.kernel.org, Antonio Quartulli , ath10k@lists.infradead.org, Felix Fietkau T24gMjAxOC0wMy0yNiAxMjo1MiwgU3ZlbiBFY2tlbG1hbm4gd3JvdGU6Cj4gT24gRnJlaXRhZywg MjMuIE3DpHJ6IDIwMTggMTk6Mzc6MTQgQ0VTVCBBbmlsa3VtYXIgS29sbGkgd3JvdGU6Cj4+ICtz dGF0aWMgdTMyIGF0aDEwa19nZXRfZXhwZWN0ZWRfdGhyb3VnaHB1dChzdHJ1Y3QgaWVlZTgwMjEx X2h3ICpodywKPj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ry dWN0IGllZWU4MDIxMV9zdGEgKnN0YSkKPj4gK3sKPj4gKyAgICAgICBzdHJ1Y3QgYXRoMTBrX3N0 YSAqYXJzdGEgPSAoc3RydWN0IGF0aDEwa19zdGEgKilzdGEtPmRydl9wcml2Owo+PiArCj4+ICsg ICAgICAgcmV0dXJuIGV3bWFfc3RhX3R4cmF0ZV9yZWFkKCZhcnN0YS0+YXZlX3N0YV90eHJhdGUp Owo+PiArfQo+IAo+IE9uIEZyZWl0YWcsIDIzLiBNw6RyeiAyMDE4IDE5OjExOjQ4IENFU1QgYWtv bGxpQGNvZGVhdXJvcmEub3JnIHdyb3RlOgo+PiA+IEFudG9uaW8gYW5kIEZlbGl4LCBwbGVhc2Ug Y29ycmVjdCBtZSB3aGVuIHRoaXMgc3RhdGVtZW50IGlzIGluY29ycmVjdC4KPj4gPgo+PiA+IFRo ZSBleHBlY3RlZF90aHJvdWdocHV0IGFzIGluaXRpYWxseSBpbXBsZW1lbnRlZCBmb3IgbWluc3Ry ZWwoX2h0KSBpcwo+PiA+IG5vdAo+PiA+IGFib3V0IHRoZSByYXcgcGh5c2ljYWwgYml0cmF0ZSBi dXQgYWJvdXQgdGhlIHRocm91Z2hwdXQgd2hpY2ggaXMKPj4gPiBleHBlY3RlZCBmb3IKPj4gPiB0 aGluZ3MgcnVubmluZyBvbiB0b3Agb2YgdGhlIHdpZmkgbGluay4gU2VlCj4+ID4gaHR0cHM6Ly9n aXQua2VybmVsLm9yZy9wdWIvc2NtL2xpbnV4L2tlcm5lbC9naXQvdG9ydmFsZHMvbGludXguZ2l0 L2NvbW1pdC8/aWQ9Y2NhNjc0ZDQ3ZTU5NjY1NjMwZjMwMDUyOTFiNjFiYjg4MzAxNWZjNQo+PiA+ IGZvciBtb3JlIGRldGFpbHMKPj4gPgo+PiA+IHdoZW4gSSBpbnRlcnByZXQgeW91ciBjaGFuZ2Ug Y29ycmVjdGx5IHRoZW4geW91ciBpdCBkb2Vzbid0IGdldCB0aGUKPj4gPiBpbmZvcm1hdGlvbiBh Ym91dCBwYWNrZXQgbG9zcyBvciBhZ2dyZWdhdGlvbiBhbmQgZG9lc24ndCBkbyBhbnl0aGluZwo+ PiA+IGNvbnZlcnQKPj4gPiBmcm9tIHJhdyBwaHlzaWNhbCByYXRlIHRvIHNvbWV0aGluZyB0aGUg dXNlciBjb3VsZCBnZXQgc2VlLiBJdCB3aWxsCj4+ID4ganVzdAo+PiA+IG92ZXJlc3RpbWF0ZSB0 aGUgdGhyb3VnaHB1dCBmb3IgYXRoMTBrIGxpbmtzIGFuZCB0aHVzIGdpdmUgd3JvbmcKPj4gPiBp bmZvcm1hdGlvbgo+PiA+IHRvIHJvdXRpbmcgYWxnb3JpdGhtcy4gVGhpcyBjb3VsZCBmb3IgZXhh bXBsZSBjYXVzZSB0aGVtIHRvIHByZWZlcgo+PiA+IGxpbmtzIG92ZXIKPj4gPiBhdGgxMGsgYmFz ZWQgaHcgd2hlbiBtdDc2IHdvdWxkIGFjdHVhbGx5IHByb3ZpZGUgYSBzaWduaWZpY2FudCBiZXR0 ZXIKPj4gPiB0aHJvdWdocHV0Lgo+PiA+Cj4+ID4gQmVzaWRlIHRoYXQgLSB3aHkgaXMgdGhlIGF2 ZV9zdGFfdHhyYXRlIG9ubHkgZmlsbGVkIHdoZW4gd2l0aCBuZXcKPj4gPiBpbmZvcm1hdGlvbgo+ PiA+IHdoZW4gc29tZW9uZSByZXF1ZXN0cyB0aGUgY3VycmVudCBleHBlY3RlZF90aHJvdWdocHV0 IHZpYQo+PiA+IGdldF9leHBlY3RlZF90aHJvdWdocHV0LiBJIHdvdWxkIGhhdmUgZXhwZWN0ZWQg dGhhdCBpdCBpcyBmaWxsZWQKPj4gPiBldmVyeXRpbWUgeW91Cj4+ID4gZ2V0IG5ldyBpbmZvcm1h dGlvbiBhYm91dCB0aGUgY3VycmVudCByYXRlIGZyb20gdGhlIGZpcm13YXJlCj4+ID4gKGF0aDEw a19zdGFfc3RhdGlzdGljcykuCj4+ID4KPj4gWWVzLiBpZGVhbGx5IGl0IHNob3VsZCBiZSBkb2lu ZyB0aGUgcmF0ZSBhdmcuIG9mIGFsbCB0aGUgc2VudCBwYWNrZXRzLgo+IAo+IE5vLCBub3QgdGhl IFBIWSByYXRlIGF2ZXJhZ2UgLSBidXQgdGhlICJ0aHJvdWdocHV0IGF2ZyIuIEFuZCB0aGUgCj4g ImlkZWFsbHkiCj4gaGVyZSBzb3VuZHMgYSBsaXR0bGUgYml0IGxpa2UgaW4gIk91ciBtZWRpY2Fs IGRvY3RvciB3b3VsZCBpZGVhbGx5IG5vdAo+IGRlY2FwaXRhdGUgZWFjaCBwYXRpZW50IGJ1dCB3 ZSBoYXZlIGF0IGxlYXN0IGFuIE1EIi4KPiAKClRoZSByYXRlIGF2ZXJhZ2UgYW5kIHRocm91Z2hw dXQgYXJlIHJlbGF0aXZlLiBubz8KCi0gQW5pbC4KCl9fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fCmF0aDEwayBtYWlsaW5nIGxpc3QKYXRoMTBrQGxpc3RzLmlu ZnJhZGVhZC5vcmcKaHR0cDovL2xpc3RzLmluZnJhZGVhZC5vcmcvbWFpbG1hbi9saXN0aW5mby9h dGgxMGsK From mboxrd@z Thu Jan 1 00:00:00 1970 Return-path: Received: from smtp.codeaurora.org ([198.145.29.96]:56304 "EHLO smtp.codeaurora.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751151AbeC1GLw (ORCPT ); Wed, 28 Mar 2018 02:11:52 -0400 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Date: Wed, 28 Mar 2018 11:41:51 +0530 From: akolli@codeaurora.org To: Sven Eckelmann Cc: ath10k@lists.infradead.org, linux-wireless@vger.kernel.org, Antonio Quartulli , Felix Fietkau , Marek Lindner , Johannes Berg , linux-wireless-owner@vger.kernel.org Subject: Re: [PATCH v2] ath10k: Implement get_expected_throughput callback In-Reply-To: <2322769.sx4MhzsvNg@bentobox> References: <1521814034-17880-1-git-send-email-akolli@codeaurora.org> <2322769.sx4MhzsvNg@bentobox> Message-ID: <7428dc3685e146dca147805b6a1bc5d2@codeaurora.org> (sfid-20180328_081155_529481_1D307AB4) Sender: linux-wireless-owner@vger.kernel.org List-ID: On 2018-03-26 12:52, Sven Eckelmann wrote: > On Freitag, 23. März 2018 19:37:14 CEST Anilkumar Kolli wrote: >> +static u32 ath10k_get_expected_throughput(struct ieee80211_hw *hw, >> + struct ieee80211_sta *sta) >> +{ >> + struct ath10k_sta *arsta = (struct ath10k_sta *)sta->drv_priv; >> + >> + return ewma_sta_txrate_read(&arsta->ave_sta_txrate); >> +} > > On Freitag, 23. März 2018 19:11:48 CEST akolli@codeaurora.org wrote: >> > Antonio and Felix, please correct me when this statement is incorrect. >> > >> > The expected_throughput as initially implemented for minstrel(_ht) is >> > not >> > about the raw physical bitrate but about the throughput which is >> > expected for >> > things running on top of the wifi link. See >> > https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=cca674d47e59665630f3005291b61bb883015fc5 >> > for more details >> > >> > when I interpret your change correctly then your it doesn't get the >> > information about packet loss or aggregation and doesn't do anything >> > convert >> > from raw physical rate to something the user could get see. It will >> > just >> > overestimate the throughput for ath10k links and thus give wrong >> > information >> > to routing algorithms. This could for example cause them to prefer >> > links over >> > ath10k based hw when mt76 would actually provide a significant better >> > throughput. >> > >> > Beside that - why is the ave_sta_txrate only filled when with new >> > information >> > when someone requests the current expected_throughput via >> > get_expected_throughput. I would have expected that it is filled >> > everytime you >> > get new information about the current rate from the firmware >> > (ath10k_sta_statistics). >> > >> Yes. ideally it should be doing the rate avg. of all the sent packets. > > No, not the PHY rate average - but the "throughput avg". And the > "ideally" > here sounds a little bit like in "Our medical doctor would ideally not > decapitate each patient but we have at least an MD". > The rate average and throughput are relative. no? - Anil.