[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