linux-wireless.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Sven Eckelmann <sven.eckelmann@openmesh.com>
To: ath10k@lists.infradead.org
Cc: Anilkumar Kolli <akolli@codeaurora.org>,
	linux-wireless@vger.kernel.org, Antonio Quartulli <a@unstable.cc>,
	Felix Fietkau <nbd@nbd.name>,
	Johannes Berg <johannes.berg@intel.com>,
	Tamizh chelvam <tamizhr@codeaurora.org>
Subject: Re: [PATCH] ath10k: Implement get_expected_throughput callback
Date: Fri, 23 Mar 2018 09:09:48 +0100	[thread overview]
Message-ID: <2667699.TbZPxW0hJB@bentobox> (raw)
In-Reply-To: <1521790620-12267-1-git-send-email-akolli@codeaurora.org>

[-- Attachment #1: Type: text/plain, Size: 2407 bytes --]

On Freitag, 23. März 2018 13:07:00 CET 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;
> +       u32 tx_bitrate;
> +
> +       tx_bitrate = cfg80211_calculate_bitrate(&arsta->txrate);
> +       ewma_sta_txrate_add(&arsta->ave_sta_txrate, tx_bitrate);
> +
> +       return ewma_sta_txrate_read(&arsta->ave_sta_txrate);
>  }

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).

> @@ -7686,6 +7686,22 @@ static void ath10k_sta_statistics(struct ieee80211_hw *hw,
>         }
>         sinfo->txrate.flags = arsta->txrate.flags;
>         sinfo->filled |= 1ULL << NL80211_STA_INFO_TX_BITRATE;
> +
> +       sinfo->expected_throughput =
> +                               ewma_sta_txrate_read(&arsta->ave_sta_txrate);
> +       sinfo->filled |= BIT(NL80211_STA_INFO_EXPECTED_THROUGHPUT);
> +}

This brings me directly to the next point. Why are you changing these values 
here? Isn't sta_set_sinfo is expected to do that? This is at least what we
expect how it works when we call cfg80211_get_station() in batman-adv.

Kind regards,
	Sven

[-- Attachment #2: This is a digitally signed message part. --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

  reply	other threads:[~2018-03-23  8:09 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-03-23  7:37 [PATCH] ath10k: Implement get_expected_throughput callback Anilkumar Kolli
2018-03-23  8:09 ` Sven Eckelmann [this message]
2018-03-23 13:41   ` akolli
2018-03-23 13:44     ` Johannes Berg
2018-03-23 14:08       ` akolli

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=2667699.TbZPxW0hJB@bentobox \
    --to=sven.eckelmann@openmesh.com \
    --cc=a@unstable.cc \
    --cc=akolli@codeaurora.org \
    --cc=ath10k@lists.infradead.org \
    --cc=johannes.berg@intel.com \
    --cc=linux-wireless@vger.kernel.org \
    --cc=nbd@nbd.name \
    --cc=tamizhr@codeaurora.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).