linux-wireless.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Antonio Quartulli <antonio@meshcoding.com>
To: Bob Copeland <me@bobcopeland.com>,
	devel@lists.open80211s.org, linux-wireless@vger.kernel.org
Subject: Re: TR: [RFC] 802.11s bitrate correction in airtime metric calculation
Date: Sat, 29 Mar 2014 15:23:35 +0100	[thread overview]
Message-ID: <5336D767.7050304@meshcoding.com> (raw)
In-Reply-To: <20140328132204.GB18560@localhost>

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

Hello,

On 28/03/14 14:22, Bob Copeland wrote:
> On Fri, Mar 28, 2014 at 11:15:06AM +0100, Cedric VONCKEN wrote:
>> Hi all,
>>
>> I am currently using 802.11s for a project using openWrt mesh portals.
>> All mesh points use 802.11a (non HT) and minstrel. Airtime metric uses a
>> "rate"
>> which is ultimately computed using sta->last_tx_rate from minstrel.
>>
>> This last_tx_rate is also updated by minstrel attempts at lower and
>> higher speeds. Even if these occasional attempts are outnumbered by
>> frames at max_tp_rate[0], they cause unexpected airtime metric
>> variations resulting in unneeded mesh path changes.
>> My idea is to use max_tp_rate[0] (from minstrel) instead. This rate is
>> not subject to minstrel attempts and directly reflects the speed used
>> for the vast majority of the frames.
> 
> Interesting -- I tried this exact thing once before, but got mixed results
> in my testing.
> 
> Can you share your testing strategy?
> 
> It's true that last_tx_rate is sub-optimal here, but I feel like using
> max_tp_rate directly is a layering violation.  Many rate controllers
> won't have that concept, and some rate controllers will exist entirely
> in firmware.  So I think perhaps fixing the concept of "last_tx_rate" or
> adding a new "best_tx_rate" field that excludes probes and such might be
> the way forward, rather than calling into the rate controllers.
> 

Some time ago I raised a similar problem when trying to extract a
reasonable value from the RC algorithm to be used in a new metric for
batman-adv.

I wanted something that could represent the "available bandwidth", so
the first idea was to use "max_tp_rate" and its probability of success.
Unfortunately these two values are meaningful if we are using minstrel,
but mostly meaningless for other RC algorithms, therefore nobody (in
particular Johannes) liked the idea of "exporting" the two separately.

Then we realised that a sort of "estimated throughput/bandwidth" is
something that any RC algorithm can somewhat provide and that can
therefore be exported by a generic RC API[1].

The "expected throughput" should be computed by minstrel as the product
of the max_tp_rate and its probability of success.

I talked a bit about this with Bob on IRC and it seems that this could
be a viable approach for 11s as well (even if it requires a
rearrangement of the way ALM is computed).


I also provided an initial RFC[2] that was then rearranged to follow the
"exported throughput" idea but was never re-sent to the ml.

If you think that this is something that could be helpful for you as
well, I could send the new RFC soon so that we can all discuss on it.


Cheers,


[1] http://article.gmane.org/gmane.linux.kernel.wireless.general/118501
[2] http://article.gmane.org/gmane.linux.kernel.wireless.general/118403

-- 
Antonio Quartulli


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 901 bytes --]

  reply	other threads:[~2014-03-29 14:24 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <773DB8A82AB6A046AE0195C68612A31901734186@sbs2003.acksys.local>
     [not found] ` <773DB8A82AB6A046AE0195C68612A31901734187@sbs2003.acksys.local>
2014-03-28 13:22   ` TR: [RFC] 802.11s bitrate correction in airtime metric calculation Bob Copeland
2014-03-29 14:23     ` Antonio Quartulli [this message]
2014-03-29 18:43       ` Sergey Ryazanov
2014-03-30  9:49         ` Antonio Quartulli
2014-04-02  8:13 Cedric Debarge

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=5336D767.7050304@meshcoding.com \
    --to=antonio@meshcoding.com \
    --cc=devel@lists.open80211s.org \
    --cc=linux-wireless@vger.kernel.org \
    --cc=me@bobcopeland.com \
    /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).