[Codel] [PATCH net-next] codel: use Newton method instead of sqrt() and divides
dave taht
dave.taht at gmail.com
Mon May 14 02:33:35 EDT 2012
On 05/13/2012 11:17 PM, Eric Dumazet wrote:
> On Sun, 2012-05-13 at 23:00 -0700, dave taht wrote:
>> I am sitting here with the latest fq_codel implementation on cerowrt, and
>> this new 16 bit change.
>>
>> With either interface, running netserver on the router, I get
>> ~260Mbit/sec out of it,
>> with fq_codel on. It's quite marvelous, as ping times stay in the 2-3ms
>> range...
>>
> If you disable TSO and GSO, do you still get good numbers ?
>
>> Running traffic through the router with two fq_codels is another story.
>>
>> I get only 91.6Mbit out of it (and the cpu on the router is loafing). I
>> was rather puzzled as
>> this is sooclose to 100Mbit as for me to assume that I had goofed and
>> was running
>> at line rate, but no, I'm at gigE on both sides.
>>
>> A) Scheduler granularity? HZ_256 and NO_HZ here. Not sure of the clock res
I rebooted the whole lab...
(it's very satisfying to do that, watching all the lights blinking)
Even more satisifying was getting back to where I had ~240Mbit through
fq_codel
on both sides. (and it didn't crash due to the other bug I'd been battling)
I'm thinking I'd ended up with a ifb lying around, or something getting
routed through wireless...
> fq_codel has no HZ dependencies. (it uses ktime_get())
>
> But are you using fq_codel alone (as the root qdisc), or as leaves in a
> more complex tree ?
I HAD been using htb and ifb in front of codel. I thought I'd deleted it
entirely... I had rebooted the router, but something else in the chain
was funky... (installed net-next on the test servers to
make sure, too)
Anyway:
root at codel:~# QMODEL=fq_codel QDEBUG=1 IFACE=ge00 /usr/sbin/debloat
(this script disables tso/gso/etc)
qdisc del dev ge00 root
qdisc add dev ge00 handle a root fq_codel
root at codel:~# tc -s qdisc show dev se00
qdisc fq_codel a: root refcnt 2 limit 10240p flows 1024 quantum 1514
target 5.0ms interval 100.0ms ecn
Sent 3639976192 bytes 2436533 pkt (dropped 0, overlimits 0 requeues
77594)
backlog 240534b 161p requeues 77594
maxpacket 1494 drop_overlimit 0 new_flow_count 373 ecn_mark 367
new_flows_len 0 old_flows_len 4
>
>> B) The new error in the new sqrt routine actually significant enough to
>> show up
So never mind.......
>> I will try a 20ms target and revert to the previous fuller precision
>> version. I wish I had data on the previous version but was battling an
>> entirely different bug, then.
never mind. next time before emailing I'll hit the big red lab button.
>> Has anyone hooked up a chain of codel ns3 sims to each other?
>>
>> Or a few gigE boxes through each other?
This is still an interesting question, though, as ecn is not well
understood...
>
More information about the Codel
mailing list