All of lore.kernel.org
 help / color / mirror / Atom feed
From: Felix Fietkau <nbd@openwrt.org>
To: Rostislav Lisovy <lisovy@gmail.com>,
	linux-wireless@vger.kernel.org, johannes@sipsolutions.net
Cc: burak.simsek@volkswagen.de, s.sander@nordsys.de,
	sojkam1@fel.cvut.cz, jan-niklas.meier@volkswagen.de,
	emmanuel.thierry@yogoko.fr, thierry.ernst@yogoko.fr,
	oyunaash@gmail.com, laszlo.virag@commsignia.com
Subject: Re: 802.11p rate control
Date: Mon, 08 Sep 2014 18:56:40 +0200	[thread overview]
Message-ID: <540DDFC8.5050000@openwrt.org> (raw)
In-Reply-To: <1410193824.10388.24.camel@umadbro>

On 2014-09-08 18:30, Rostislav Lisovy wrote:
> The possible obstacles are:
> * 802.11p will be used mainly for two independent C2X protocol stacks --
> one is the European ETSI ITS-G5, the other one is the US WAVE (IEEE
> 1609). I assume that these two protocol stack implementations will
> differ mainly in the user-space while the kernel part will be the same.
> * ITS-G5 already speaks about the "default datarate" for different
> channels ([1] 4.3, Table 2) -- i.e. 6 Mbit/s for channel no. 180; 12
> Mbit/s for channel no. 178. This should be probably defined when
> "joining the network" on a fixed channel.
> 
> The possible (first implementation) solution might be either to
> implement some "dummy" rate control algorithm that will set a fixed
> datarate only once (during "ocb join" command) or to use the Minstrel
> while limiting the allowed datarate to be the lowest one; i.e.
>     mand_rates = ieee80211_mandatory_rates(sband, scan_width);
>     sta->sta.supp_rates[band] =
>         find_first_bit(&mand_rates, sizeof(u32));
> 
> If I am not mistaken, it is not possible to live without an in-kernel
> rate_control algorithm?
> One interesting idea I got from one colleague is to implement the
> algorithm logic in the user-space -- kernel would contain just a thin
> shell controlled from the user-space (via netlink?). This is probably
> not as insane as it may sound since the purpose of the rate-control
> algorithm for 802.11p (at least for ITS-G5) is not to "maximize the
> immediate throughput" but more like "shared medium congestion control",
> which may require much slower frequency of a control loop.
I think doing this in userspace is overkill. minstrel should be able to
handle rate control for 802.11p just fine if you set up the supported
rates properly.

By the way, minstrel does not try to "maximize the immediate
throughput", it tries to maximize the ratio of throughput vs used
airtime, which should be good for 802.11p as well.

- Felix

  reply	other threads:[~2014-09-08 16:56 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-09-08 16:30 802.11p rate control Rostislav Lisovy
2014-09-08 16:56 ` Felix Fietkau [this message]
2014-09-10  8:50 ` Johannes Berg
2014-09-10  9:19   ` Emmanuel Thierry

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=540DDFC8.5050000@openwrt.org \
    --to=nbd@openwrt.org \
    --cc=burak.simsek@volkswagen.de \
    --cc=emmanuel.thierry@yogoko.fr \
    --cc=jan-niklas.meier@volkswagen.de \
    --cc=johannes@sipsolutions.net \
    --cc=laszlo.virag@commsignia.com \
    --cc=linux-wireless@vger.kernel.org \
    --cc=lisovy@gmail.com \
    --cc=oyunaash@gmail.com \
    --cc=s.sander@nordsys.de \
    --cc=sojkam1@fel.cvut.cz \
    --cc=thierry.ernst@yogoko.fr \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.