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