[Cerowrt-devel] what's the status of pushing things upstream

Dave Taht dave.taht at gmail.com
Wed Sep 5 23:31:54 EDT 2012


On Wed, Sep 5, 2012 at 1:46 PM,  <david at lang.hm> wrote:
> I'm seeing discussion on the openwrt mailing list that they are goin to
> actually make a release ;)

I've been too heads-down trying to fix stuff to track the state of the freeze.

I have a test deployment going of openwrt and cerowrt that I started
last month, on nanostation M5, picostation 2HP, and wndr3700v2
hardware, at a local campground, with real users.

It's working well except the 32MB devices are running into some memory
and OOM issues, which I hopefully have fixed at this point, except
that some of the fixes are rather hacky. The most effective one thus
far seems to be the skb_reduce_truesize patch in the qdisc. Std
openwrt won't run into the memory problems as rapidly as I did with
all the extra stuff on by default in cero....

I'd hoped to do a new test deployment this past week, but some
persistent (and non-technical) issues beat me.

> how much of the cerowrt code changes are upstream and will be in this
> release vs stuff that isn't ready or isn't going to make it?

1) What's in openwrt right now could use a little work to avoid
surprises. Specifically:
1a) Qos-scripts should put a packet limit on fq_codel. 1200 or so,
works for me on rates below 30Mbit. For upload rates below 100Mbit at
this point, I'd recommend turning ecn off, too. It makes no sense to
turn ecn off on downloads. I've also been tuning the quantum down.

That's all I care make it upstream pre-freeze at this juncture. Other
stuff is all upstream and working well:

codel and fq_codel are in openwrt's default kernel.

fq_codel is used in qos-scripts.  fq_codel is not on by default
elsewhere in openwrt.

Tons of ipv6, classification, etc fixes through the stack. The one
that I think holds the most promise is the addition of AAAA record
insertion and dhcpv6 support to dnsmasq, but overall,
it's tons better than last year's stuff.

Stuff that will need work after the freeze:

0) BQL support is available in only some of the device drivers openwrt
is shipping (not enough)

I would really like a big BQL push on key ethernet drivers  - things
like the dreamplug and the raspberry pi don't have it yet. I don't
know what other devices are popular....

It's just a couple lines of code that make a HUGE difference.

1) I think it's possible to do much better than qos-scripts.

2) HTB and I are not having a good time together at higher rates on this hw.

3) fq_codel and codel have some fixes pending in 3.6 and in my tree.
(see codel list for some discussion). I have the ns2 model based codel
which appears to be better in most respects than the current one, and
some thoughts towards some fq_codel variants.

A great deal of benchmarking and testing remains to be done before
that can go mainline.

I do plan to release a cornucopia of fq_codel variants in the next
cerowrt snapshot.

4) cerowrt runs fq_codel on all devices and all queues by default.
Openwrt doesn't.

I've been trying to get to where what I had was stable enough to push
up there before they released, but I am not quite there yet. It seems
unlikely I'll get there this month, either. So just
patching up qos-scripts would be good, for now.

But basically you can add the debloat package to any openwrt hw (with
adaquate memory!), and IF the ethernet device driver has BQL support,
you'll see an improvement.

I think the ADSL fixes from david woodhouse made this release of
openwrt, too, so debloat will help there, but haven't checked.

On wifi, the situation is far more nuanced, and it's pretty obvious we
have a long way to go there.

I figure we're in for another year of promise on top of the pain.
Minimum. But I'm seriously encouraged. There is a hint of dim lights
at the end of the tunnel.

> David Lang
> _______________________________________________
> Cerowrt-devel mailing list
> Cerowrt-devel at lists.bufferbloat.net
> https://lists.bufferbloat.net/listinfo/cerowrt-devel



-- 
Dave Täht
http://www.bufferbloat.net/projects/cerowrt/wiki - "3.3.8-17 is out
with fq_codel!"



More information about the Cerowrt-devel mailing list