linux-wireless.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Anilkumar Kolli <akolli@codeaurora.org>
To: Johannes Berg <johannes@sipsolutions.net>
Cc: "Kalle Valo" <kvalo@codeaurora.org>,
	ath10k@lists.infradead.org, linux-wireless@vger.kernel.org,
	"Toke Høiland-Jørgensen" <toke@toke.dk>
Subject: Re: [RFC v2] ath10k: report tx rate using ieee80211_tx_status()
Date: Thu, 06 Sep 2018 12:40:45 +0530	[thread overview]
Message-ID: <57c9d018e6c8bddc50871c88bddee3b7@codeaurora.org> (raw)
In-Reply-To: <1535969922.3437.37.camel@sipsolutions.net>

On 2018-09-03 15:48, Johannes Berg wrote:
> On Fri, 2018-08-31 at 15:29 +0300, Kalle Valo wrote:
> 
>> Too me this feels like a bad idea but I'm not familiar enough with
>> mac80211 to really comment on this. What kind of implications does 
>> this
>> have for Mesh or ATF, for example? Adding Johannes and Toke to hear
>> about their opinion about this.
> 
> The biggest implication is probably radiotap. Beyond that, it's using
> this to report the "last rate" to nl80211, but that's not all super
> useful anyway.
> 
> The retry count is also affected, and since you report "somewhat
> liberally" that would lead to erroneous statistics.
> 
> I'd recommend against doing this and disentangling the necessary code 
> in
> mac80211, e.g. with ieee80211_tx_status_ext() or adding similar APIs.
> 
> johannes

Thanks for the review.

Is this okay to implement a new API to update the tx rate alone?

Code snippet:
  /**
  * ieee80211_tx_status_rate_upd - transmit rate update callback
  *
  * This function can be used in drivers that does not have provision
  * in updating the tx rate in data path.
  *
  * @hw: the hardware the frame was transmitted by
  * @status: tx status information
  * @pubsta: the station to update the tx rate for.
  */
void ieee80211_tx_status_rate_upd(struct ieee80211_hw *hw,
				  struct ieee80211_sta *pubsta,
				  struct ieee80211_tx_info *info);


Source:
void ieee80211_tx_status_rate_upd(struct ieee80211_hw *hw,
				  struct ieee80211_sta *pubsta,
				  struct ieee80211_tx_info *info)
{
	struct ieee80211_local *local = hw_to_local(hw);
	struct ieee80211_supported_band *sband;
	int retry_count;
	int rates_idx;
	struct ieee80211_tx_status status = {
		.skb = NULL,
		.info = info,
	};

	ieee80211_tx_get_rates(hw, info, &retry_count);
	sband = hw->wiphy->bands[info->band];

	if (pubsta) {
		struct sta_info *sta;

		sta = container_of(pubsta, struct sta_info, sta);
		status.sta = &sta->sta;
		rate_control_tx_status(local, sband, &status);
		if (ieee80211_hw_check(&local->hw, HAS_RATE_CONTROL) &&
		    (rates_idx != -1))
			sta->tx_stats.last_rate = info->status.rates[rates_idx];
	}

}
EXPORT_SYMBOL(ieee80211_tx_status_rate_upd);


Thanks
Anil.

      reply	other threads:[~2018-09-06 11:44 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-04-21  6:23 [RFC v2] ath10k: report tx rate using ieee80211_tx_status() Anilkumar Kolli
2018-04-24  8:02 ` Kalle Valo
2018-04-25  9:59   ` Anilkumar Kolli
2018-04-25 14:03     ` Kalle Valo
2018-08-21  6:04       ` Anilkumar Kolli
2018-08-21  7:46         ` Kalle Valo
2018-08-31 12:29 ` Kalle Valo
2018-08-31 14:22   ` Toke Høiland-Jørgensen
2018-09-03  5:37     ` Anilkumar Kolli
2018-09-03 10:13       ` Toke Høiland-Jørgensen
2018-09-03 10:19         ` Anilkumar Kolli
2018-09-03 10:18   ` Johannes Berg
2018-09-06  7:10     ` Anilkumar Kolli [this message]

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=57c9d018e6c8bddc50871c88bddee3b7@codeaurora.org \
    --to=akolli@codeaurora.org \
    --cc=ath10k@lists.infradead.org \
    --cc=johannes@sipsolutions.net \
    --cc=kvalo@codeaurora.org \
    --cc=linux-wireless@vger.kernel.org \
    --cc=toke@toke.dk \
    /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).