2012-11-07 07:54:53

by Saravana

[permalink] [raw]
Subject: Clarification needed on Last Tx Rate statistic update


Hi,

I am Saravana and i am currently working on adding statistics. It will
be really helpful if someone could provide me clarification related to
Last Tx Rate statistics.

In ieee80211_tx_status(), the Last Tx Rate (sta->last_tx_rate) update
happens only when the rate control is done by the HW
(IEEE80211_HW_HAS_RATE_CONTROL) .
My understanding is that irrespective of whether the rate control is
done by the hardware or not, the driver will fill up all the rates that
it had tried along with the retry count for each rate to
ieee80211_tx_status() using the
struct ieee80211_tx_info (info->status.rates).

The 'info->status.rates[rates_idx]' would point to the rate with which
the packet transmission has occured irrespective of the where the rate
control is done.

Could somebody clarify why the statistics update happens only when the
rate control is done by the hardware(flag IEEE80211_HW_HAS_RATE_CONTROL
is set)?

Thanks,
Saravana


2012-11-08 14:10:46

by Johannes Berg

[permalink] [raw]
Subject: Re: Clarification needed on Last Tx Rate statistic update

On Wed, 2012-11-07 at 14:31 +0530, Saravana wrote:
> Hi Johannes,
>
> Thanks for the clarification. So it seems the in the other case that you
> had mentioned, we can confirm that last_tx_rate is updated with
> inappropriate value.
> So probably we could add another variable for the highest
> performing/probability rate and update it with the txrc.reported rate
> value.
> The Last_tx_rate update with the highest performing/probability rate can
> be removed.
>
> As far as Last Tx Rate is concerned, should we need to check for the flag?
> I think the Last Tx Rate can be updated irrespective of the
> IEEE80211_HW_HAS_RATE_CONTROL set or not.

Well, "last_tx_rate" might be a bad variable name, but I think the
behaviour we have now is consistent with something like
"current_tx_rate" (rather than last), so I don't see any value in
changing it. What use would the actual last rate have anyway, it keeps
changing all the time.

johannes


2012-11-07 09:01:46

by Saravana

[permalink] [raw]
Subject: Re: Clarification needed on Last Tx Rate statistic update

Hi Johannes,

Thanks for the clarification. So it seems the in the other case that you
had mentioned, we can confirm that last_tx_rate is updated with
inappropriate value.
So probably we could add another variable for the highest
performing/probability rate and update it with the txrc.reported rate
value.
The Last_tx_rate update with the highest performing/probability rate can
be removed.

As far as Last Tx Rate is concerned, should we need to check for the flag?
I think the Last Tx Rate can be updated irrespective of the
IEEE80211_HW_HAS_RATE_CONTROL set or not.

Please let me know your inputs on this.

Thanks,
Saravana
On 11/07/2012 01:35 PM, Johannes Berg wrote:
> On Wed, 2012-11-07 at 13:17 +0530, Saravana wrote:
>
>> Could somebody clarify why the statistics update happens only when the
>> rate control is done by the hardware(flag IEEE80211_HW_HAS_RATE_CONTROL
>> is set)?
> In the other case, it's set to txrc.reported_rate upon transmission, so
> it's not the *last* rate, but more accurately the highest
> performing/probability rate.
>
> johannes
>
>


2012-11-07 08:04:58

by Johannes Berg

[permalink] [raw]
Subject: Re: Clarification needed on Last Tx Rate statistic update

On Wed, 2012-11-07 at 13:17 +0530, Saravana wrote:

> Could somebody clarify why the statistics update happens only when the
> rate control is done by the hardware(flag IEEE80211_HW_HAS_RATE_CONTROL
> is set)?

In the other case, it's set to txrc.reported_rate upon transmission, so
it's not the *last* rate, but more accurately the highest
performing/probability rate.

johannes