linux-wireless.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Johannes Berg <johannes@sipsolutions.net>
To: Todd Efflam <todd.efflam@gmail.com>, linux-wireless@vger.kernel.org
Subject: Re: Rate Control Tuning/Information
Date: Thu, 18 Feb 2016 21:21:43 +0100	[thread overview]
Message-ID: <1455826903.2084.27.camel@sipsolutions.net> (raw)
In-Reply-To: <CAHWMYyDphLy2KGKuCKq-R9t6NVyjSF18WpA-emc9eZcSY30mZg@mail.gmail.com> (sfid-20160212_013210_211514_10210198)

Hi,

> We're currently trying to tune the rate control algorithm (minstrel)
> with our video encoding quality.  We're using a udp network so
> ideally
> the two will match up and we won't be trying to encode at too high of
> a quality when our data rate is decreased.
> 
> In doing so, I have a couple of questions:
> a) Is it possible to change the timing between rate changes?  We'd
> like to not change in the middle of encoding a video frame and give
> our encoding enough time to create a frame that will fit in the
> current data rate.

I don't think that's something you can control today, and I'm not sure
how that would work anyhow - if the situation changes quickly you'd
want rate control to change quickly too. Otherwise it has to be over-
conservative which also leads to bad performance.

> b) Is there a better way to get the current data rate than using
> iwconfig?  Or possibly an interrupt for when the data rate is changed
> so we can change our encoding quality to match it as soon as
> possible?

You should probably use the equivalent of "iw wlan0 station dump" or
so. There's no event for this today though.

> c) If the above aren't possible, is the best way to manually change
> the data rate by configuring the kernel to not use rate control and
> send rate change requests via something like "echo 'index' >
> /sys/kernel/debug/ieee80211/phy0/rc/fixed_rate_idx" (posted here:
> http://unix.stackexchange.com/questions/182520/disable-rate-control-
> in-linux-wireless-driver).

This is possible, but I can't recommend it - you have no good way of
tuning that short of implementing rate control yourself...

Also, if you pick a too high rate and get lots of retries, you also
lose because the frames will get retransmitted and you'll miss the
decoder deadline for them.

You might want to turn down retransmissions, or better yet give your
frames deadlines (must be sent within X ms), though I don't think any
driver supports this right now.

Ideally, we'd add a much richer socket API that lets you control some
of these parameters.

johannes

      reply	other threads:[~2016-02-18 20:21 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-02-12  0:32 Rate Control Tuning/Information Todd Efflam
2016-02-18 20:21 ` Johannes Berg [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=1455826903.2084.27.camel@sipsolutions.net \
    --to=johannes@sipsolutions.net \
    --cc=linux-wireless@vger.kernel.org \
    --cc=todd.efflam@gmail.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).