* Rate Control Tuning/Information
@ 2016-02-12 0:32 Todd Efflam
2016-02-18 20:21 ` Johannes Berg
0 siblings, 1 reply; 2+ messages in thread
From: Todd Efflam @ 2016-02-12 0:32 UTC (permalink / raw)
To: linux-wireless
Hello,
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.
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?
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).
Any advice is appreciated! Thank you.
Best,
Todd
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: Rate Control Tuning/Information
2016-02-12 0:32 Rate Control Tuning/Information Todd Efflam
@ 2016-02-18 20:21 ` Johannes Berg
0 siblings, 0 replies; 2+ messages in thread
From: Johannes Berg @ 2016-02-18 20:21 UTC (permalink / raw)
To: Todd Efflam, linux-wireless
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
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2016-02-18 20:21 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-02-12 0:32 Rate Control Tuning/Information Todd Efflam
2016-02-18 20:21 ` Johannes Berg
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).