Discussion:
[Bloat] fq_codel on macosx
Sebastian Moeller
2018-09-08 15:12:50 UTC
Permalink
Hi Dave,

Jason Woringen just told me that macosx seems to include fq_codel now as well as some involved priority queues that I can not make much sense of. It might simply have inherited this from its freebsd underpinnings...

en4 is 1Gbps ethernet
macbook:~ user$ netstat -I en4 -qq
en4:
[ sched: FQ_CODEL qlength: 0/128 ]
[ pkts: 100 bytes: 28920 dropped pkts: 1 bytes: 342 ]
=====================================================
[ pri: CTL (0) srv_cl: 0x480190 quantum: 600 drr_max: 8 ]
[ queued pkts: 0 bytes: 0 ]
[ dequeued pkts: 91 bytes: 27706 ]
[ budget: 0 target qdelay: 5.00 msec update interval:100.00 msec ]
[ flow control: 0 feedback: 0 stalls: 0 failed: 0 ]
[ drop overflow: 0 early: 0 memfail: 0 duprexmt:0 ]
[ flows total: 0 new: 0 old: 0 ]
[ throttle on: 0 off: 0 drop: 0 ]
=====================================================
[ pri: VO (1) srv_cl: 0x400180 quantum: 600 drr_max: 8 ]
[ queued pkts: 0 bytes: 0 ]
[ dequeued pkts: 0 bytes: 0 ]
[ budget: 0 target qdelay: 5.00 msec update interval:100.00 msec ]
[ flow control: 0 feedback: 0 stalls: 0 failed: 0 ]
[ drop overflow: 0 early: 0 memfail: 0 duprexmt:0 ]
[ flows total: 0 new: 0 old: 0 ]
[ throttle on: 0 off: 0 drop: 0 ]
=====================================================
[ pri: VI (2) srv_cl: 0x380100 quantum: 3000 drr_max: 6 ]
[ queued pkts: 0 bytes: 0 ]
[ dequeued pkts: 0 bytes: 0 ]
[ budget: 0 target qdelay: 5.00 msec update interval:100.00 msec ]
[ flow control: 0 feedback: 0 stalls: 0 failed: 0 ]
[ drop overflow: 0 early: 0 memfail: 0 duprexmt:0 ]
[ flows total: 0 new: 0 old: 0 ]
[ throttle on: 0 off: 0 drop: 0 ]
=====================================================
[ pri: RV (3) srv_cl: 0x300110 quantum: 3000 drr_max: 6 ]
[ queued pkts: 0 bytes: 0 ]
[ dequeued pkts: 0 bytes: 0 ]
[ budget: 0 target qdelay: 5.00 msec update interval:100.00 msec ]
[ flow control: 0 feedback: 0 stalls: 0 failed: 0 ]
[ drop overflow: 0 early: 0 memfail: 0 duprexmt:0 ]
[ flows total: 0 new: 0 old: 0 ]
[ throttle on: 0 off: 0 drop: 0 ]
=====================================================
[ pri: AV (4) srv_cl: 0x280120 quantum: 3000 drr_max: 6 ]
[ queued pkts: 0 bytes: 0 ]
[ dequeued pkts: 0 bytes: 0 ]
[ budget: 0 target qdelay: 5.00 msec update interval:100.00 msec ]
[ flow control: 0 feedback: 0 stalls: 0 failed: 0 ]
[ drop overflow: 0 early: 0 memfail: 0 duprexmt:0 ]
[ flows total: 0 new: 0 old: 0 ]
[ throttle on: 0 off: 0 drop: 0 ]
=====================================================
[ pri: OAM (5) srv_cl: 0x200020 quantum: 1500 drr_max: 4 ]
[ queued pkts: 0 bytes: 0 ]
[ dequeued pkts: 0 bytes: 0 ]
[ budget: 0 target qdelay: 5.00 msec update interval:100.00 msec ]
[ flow control: 0 feedback: 0 stalls: 0 failed: 0 ]
[ drop overflow: 0 early: 0 memfail: 0 duprexmt:0 ]
[ flows total: 0 new: 0 old: 0 ]
[ throttle on: 0 off: 0 drop: 0 ]
=====================================================
[ pri: RD (6) srv_cl: 0x180010 quantum: 1500 drr_max: 4 ]
[ queued pkts: 0 bytes: 0 ]
[ dequeued pkts: 0 bytes: 0 ]
[ budget: 0 target qdelay: 5.00 msec update interval:100.00 msec ]
[ flow control: 0 feedback: 0 stalls: 0 failed: 0 ]
[ drop overflow: 0 early: 0 memfail: 0 duprexmt:0 ]
[ flows total: 0 new: 0 old: 0 ]
[ throttle on: 0 off: 0 drop: 0 ]
=====================================================
[ pri: BE (7) srv_cl: 0x0 quantum: 1500 drr_max: 4 ]
[ queued pkts: 0 bytes: 0 ]
[ dequeued pkts: 9 bytes: 1214 ]
[ budget: 0 target qdelay: 5.00 msec update interval:100.00 msec ]
[ flow control: 0 feedback: 0 stalls: 0 failed: 0 ]
[ drop overflow: 0 early: 0 memfail: 0 duprexmt:0 ]
[ flows total: 0 new: 0 old: 0 ]
[ throttle on: 0 off: 0 drop: 0 ]
=====================================================
[ pri: BK (8) srv_cl: 0x100080 quantum: 1500 drr_max: 2 ]
[ queued pkts: 0 bytes: 0 ]
[ dequeued pkts: 0 bytes: 0 ]
[ budget: 0 target qdelay: 5.00 msec update interval:100.00 msec ]
[ flow control: 0 feedback: 0 stalls: 0 failed: 0 ]
[ drop overflow: 0 early: 0 memfail: 0 duprexmt:0 ]
[ flows total: 0 new: 0 old: 0 ]
[ throttle on: 0 off: 0 drop: 0 ]
=====================================================
[ pri: BK_SYS (9) srv_cl: 0x80090 quantum: 1500 drr_max: 2 ]
[ queued pkts: 0 bytes: 0 ]
[ dequeued pkts: 0 bytes: 0 ]
[ budget: 0 target qdelay: 5.00 msec update interval:100.00 msec ]
[ flow control: 0 feedback: 0 stalls: 0 failed: 0 ]
[ drop overflow: 0 early: 0 memfail: 0 duprexmt:0 ]
[ flows total: 0 new: 0 old: 0 ]
[ throttle on: 0 off: 0 drop: 0 ]
macbook:~ user$


and on wifi (en0)
macbook:~ user $ netstat -I en0 -qq
en0:
[ sched: FQ_CODEL qlength: 0/128 ]
[ pkts: 0 bytes: 0 dropped pkts: 480 bytes: 77809 ]
=====================================================
[ pri: VO (1) srv_cl: 0x400180 quantum: 600 drr_max: 8 ]
[ queued pkts: 0 bytes: 0 ]
[ dequeued pkts: 72537 bytes: 7015758 ]
[ budget: 0 target qdelay: 10.00 msec update interval:100.00 msec ]
[ flow control: 0 feedback: 0 stalls: 0 failed: 0 ]
[ drop overflow: 0 early: 0 memfail: 0 duprexmt:0 ]
[ flows total: 0 new: 0 old: 0 ]
[ throttle on: 0 off: 0 drop: 0 ]
=====================================================
[ pri: VI (2) srv_cl: 0x380100 quantum: 3000 drr_max: 6 ]
[ queued pkts: 0 bytes: 0 ]
[ dequeued pkts: 1139670 bytes: 80872250 ]
[ budget: 0 target qdelay: 10.00 msec update interval:100.00 msec ]
[ flow control: 0 feedback: 0 stalls: 0 failed: 0 ]
[ drop overflow: 0 early: 0 memfail: 0 duprexmt:0 ]
[ flows total: 0 new: 0 old: 0 ]
[ throttle on: 0 off: 0 drop: 0 ]
=====================================================
[ pri: BE (7) srv_cl: 0x0 quantum: 1500 drr_max: 4 ]
[ queued pkts: 0 bytes: 0 ]
[ dequeued pkts: 6737285 bytes: 1608200668 ]
[ budget: 0 target qdelay: 10.00 msec update interval:100.00 msec ]
[ flow control: 1 feedback: 1 stalls: 0 failed: 0 ]
[ drop overflow: 0 early: 0 memfail: 0 duprexmt:0 ]
[ flows total: 0 new: 0 old: 0 ]
[ throttle on: 0 off: 0 drop: 0 ]
=====================================================
[ pri: BK (8) srv_cl: 0x100080 quantum: 1500 drr_max: 2 ]
[ queued pkts: 0 bytes: 0 ]
[ dequeued pkts: 1396402 bytes: 382861004 ]
[ budget: 0 target qdelay: 10.00 msec update interval:100.00 msec ]
[ flow control: 0 feedback: 0 stalls: 0 failed: 0 ]
[ drop overflow: 0 early: 0 memfail: 0 duprexmt:0 ]
[ flows total: 0 new: 0 old: 0 ]
[ throttle on: 0 off: 0 drop: 0 ]
macbook:~ user $
Dave Taht
2018-09-08 15:24:03 UTC
Permalink
Post by Sebastian Moeller
Hi Dave,
Jason Woringen just told me that macosx seems to include fq_codel now as well as some involved priority queues that I can not make much sense of. It might simply have inherited this from its freebsd underpinnings...
Wow. I had no idea. I know that they enabled tcp ecn universally last
year... but not fq_codel!! Holy cow!

Same here on my air....

daves-Air-3:wiki d$ netstat -I en0 -qq

en0:

[ sched: FQ_CODEL qlength: 0/128 ]

[ pkts: 0 bytes: 0 dropped pkts: 13262
bytes: 8469105 ]

=====================================================

[ pri: VO (1) srv_cl: 0x400180 quantum: 600 drr_max: 8 ]

[ queued pkts: 0 bytes: 0 ]

[ dequeued pkts: 380295 bytes: 47356766 ]

[ budget: 0 target qdelay: 10.00 msec update interval:100.00 msec ]

[ flow control: 0 feedback: 0 stalls: 0 failed: 0 ]

[ drop overflow: 0 early: 0 memfail: 0 duprexmt:0 ]

[ flows total: 0 new: 0 old: 0 ]

[ throttle on: 0 off: 0 drop: 0 ]

=====================================================

[ pri: VI (2) srv_cl: 0x380100 quantum: 3000 drr_max: 6 ]

[ queued pkts: 0 bytes: 0 ]

[ dequeued pkts: 4339 bytes: 321840 ]

[ budget: 0 target qdelay: 10.00 msec update interval:100.00 msec ]

[ flow control: 0 feedback: 0 stalls: 0 failed: 0 ]

[ drop overflow: 0 early: 0 memfail: 0 duprexmt:0 ]

[ flows total: 0 new: 0 old: 0 ]

[ throttle on: 0 off: 0 drop: 0 ]

=====================================================

[ pri: BE (7) srv_cl: 0x0 quantum: 1500 drr_max: 4 ]

[ queued pkts: 0 bytes: 0 ]

[ dequeued pkts: 40497473 bytes: 11269032336 ]

[ budget: 0 target qdelay: 10.00 msec update interval:100.00 msec ]

[ flow control: 86 feedback: 86 stalls: 4 failed: 0 ]

[ drop overflow: 3116 early: 854 memfail: 0 duprexmt:0 ]

[ flows total: 0 new: 0 old: 0 ]

[ throttle on: 0 off: 0 drop: 0 ]

=====================================================

[ pri: BK (8) srv_cl: 0x100080 quantum: 1500 drr_max: 2 ]

[ queued pkts: 0 bytes: 0 ]

[ dequeued pkts: 1553687 bytes: 358969659 ]

[ budget: 0 target qdelay: 10.00 msec update interval:100.00 msec ]

[ flow control: 0 feedback: 0 stalls: 0 failed: 0 ]

[ drop overflow: 0 early: 0 memfail: 0 duprexmt:0 ]

[ flows total: 0 new: 0 old: 0 ]
Post by Sebastian Moeller
en4 is 1Gbps ethernet
macbook:~ user$ netstat -I en4 -qq
[ sched: FQ_CODEL qlength: 0/128 ]
[ pkts: 100 bytes: 28920 dropped pkts: 1 bytes: 342 ]
=====================================================
[ pri: CTL (0) srv_cl: 0x480190 quantum: 600 drr_max: 8 ]
[ queued pkts: 0 bytes: 0 ]
[ dequeued pkts: 91 bytes: 27706 ]
[ budget: 0 target qdelay: 5.00 msec update interval:100.00 msec ]
[ flow control: 0 feedback: 0 stalls: 0 failed: 0 ]
[ drop overflow: 0 early: 0 memfail: 0 duprexmt:0 ]
[ flows total: 0 new: 0 old: 0 ]
[ throttle on: 0 off: 0 drop: 0 ]
=====================================================
[ pri: VO (1) srv_cl: 0x400180 quantum: 600 drr_max: 8 ]
[ queued pkts: 0 bytes: 0 ]
[ dequeued pkts: 0 bytes: 0 ]
[ budget: 0 target qdelay: 5.00 msec update interval:100.00 msec ]
[ flow control: 0 feedback: 0 stalls: 0 failed: 0 ]
[ drop overflow: 0 early: 0 memfail: 0 duprexmt:0 ]
[ flows total: 0 new: 0 old: 0 ]
[ throttle on: 0 off: 0 drop: 0 ]
=====================================================
[ pri: VI (2) srv_cl: 0x380100 quantum: 3000 drr_max: 6 ]
[ queued pkts: 0 bytes: 0 ]
[ dequeued pkts: 0 bytes: 0 ]
[ budget: 0 target qdelay: 5.00 msec update interval:100.00 msec ]
[ flow control: 0 feedback: 0 stalls: 0 failed: 0 ]
[ drop overflow: 0 early: 0 memfail: 0 duprexmt:0 ]
[ flows total: 0 new: 0 old: 0 ]
[ throttle on: 0 off: 0 drop: 0 ]
=====================================================
[ pri: RV (3) srv_cl: 0x300110 quantum: 3000 drr_max: 6 ]
[ queued pkts: 0 bytes: 0 ]
[ dequeued pkts: 0 bytes: 0 ]
[ budget: 0 target qdelay: 5.00 msec update interval:100.00 msec ]
[ flow control: 0 feedback: 0 stalls: 0 failed: 0 ]
[ drop overflow: 0 early: 0 memfail: 0 duprexmt:0 ]
[ flows total: 0 new: 0 old: 0 ]
[ throttle on: 0 off: 0 drop: 0 ]
=====================================================
[ pri: AV (4) srv_cl: 0x280120 quantum: 3000 drr_max: 6 ]
[ queued pkts: 0 bytes: 0 ]
[ dequeued pkts: 0 bytes: 0 ]
[ budget: 0 target qdelay: 5.00 msec update interval:100.00 msec ]
[ flow control: 0 feedback: 0 stalls: 0 failed: 0 ]
[ drop overflow: 0 early: 0 memfail: 0 duprexmt:0 ]
[ flows total: 0 new: 0 old: 0 ]
[ throttle on: 0 off: 0 drop: 0 ]
=====================================================
[ pri: OAM (5) srv_cl: 0x200020 quantum: 1500 drr_max: 4 ]
[ queued pkts: 0 bytes: 0 ]
[ dequeued pkts: 0 bytes: 0 ]
[ budget: 0 target qdelay: 5.00 msec update interval:100.00 msec ]
[ flow control: 0 feedback: 0 stalls: 0 failed: 0 ]
[ drop overflow: 0 early: 0 memfail: 0 duprexmt:0 ]
[ flows total: 0 new: 0 old: 0 ]
[ throttle on: 0 off: 0 drop: 0 ]
=====================================================
[ pri: RD (6) srv_cl: 0x180010 quantum: 1500 drr_max: 4 ]
[ queued pkts: 0 bytes: 0 ]
[ dequeued pkts: 0 bytes: 0 ]
[ budget: 0 target qdelay: 5.00 msec update interval:100.00 msec ]
[ flow control: 0 feedback: 0 stalls: 0 failed: 0 ]
[ drop overflow: 0 early: 0 memfail: 0 duprexmt:0 ]
[ flows total: 0 new: 0 old: 0 ]
[ throttle on: 0 off: 0 drop: 0 ]
=====================================================
[ pri: BE (7) srv_cl: 0x0 quantum: 1500 drr_max: 4 ]
[ queued pkts: 0 bytes: 0 ]
[ dequeued pkts: 9 bytes: 1214 ]
[ budget: 0 target qdelay: 5.00 msec update interval:100.00 msec ]
[ flow control: 0 feedback: 0 stalls: 0 failed: 0 ]
[ drop overflow: 0 early: 0 memfail: 0 duprexmt:0 ]
[ flows total: 0 new: 0 old: 0 ]
[ throttle on: 0 off: 0 drop: 0 ]
=====================================================
[ pri: BK (8) srv_cl: 0x100080 quantum: 1500 drr_max: 2 ]
[ queued pkts: 0 bytes: 0 ]
[ dequeued pkts: 0 bytes: 0 ]
[ budget: 0 target qdelay: 5.00 msec update interval:100.00 msec ]
[ flow control: 0 feedback: 0 stalls: 0 failed: 0 ]
[ drop overflow: 0 early: 0 memfail: 0 duprexmt:0 ]
[ flows total: 0 new: 0 old: 0 ]
[ throttle on: 0 off: 0 drop: 0 ]
=====================================================
[ pri: BK_SYS (9) srv_cl: 0x80090 quantum: 1500 drr_max: 2 ]
[ queued pkts: 0 bytes: 0 ]
[ dequeued pkts: 0 bytes: 0 ]
[ budget: 0 target qdelay: 5.00 msec update interval:100.00 msec ]
[ flow control: 0 feedback: 0 stalls: 0 failed: 0 ]
[ drop overflow: 0 early: 0 memfail: 0 duprexmt:0 ]
[ flows total: 0 new: 0 old: 0 ]
[ throttle on: 0 off: 0 drop: 0 ]
macbook:~ user$
and on wifi (en0)
macbook:~ user $ netstat -I en0 -qq
[ sched: FQ_CODEL qlength: 0/128 ]
[ pkts: 0 bytes: 0 dropped pkts: 480 bytes: 77809 ]
=====================================================
[ pri: VO (1) srv_cl: 0x400180 quantum: 600 drr_max: 8 ]
[ queued pkts: 0 bytes: 0 ]
[ dequeued pkts: 72537 bytes: 7015758 ]
[ budget: 0 target qdelay: 10.00 msec update interval:100.00 msec ]
[ flow control: 0 feedback: 0 stalls: 0 failed: 0 ]
[ drop overflow: 0 early: 0 memfail: 0 duprexmt:0 ]
[ flows total: 0 new: 0 old: 0 ]
[ throttle on: 0 off: 0 drop: 0 ]
=====================================================
[ pri: VI (2) srv_cl: 0x380100 quantum: 3000 drr_max: 6 ]
[ queued pkts: 0 bytes: 0 ]
[ dequeued pkts: 1139670 bytes: 80872250 ]
[ budget: 0 target qdelay: 10.00 msec update interval:100.00 msec ]
[ flow control: 0 feedback: 0 stalls: 0 failed: 0 ]
[ drop overflow: 0 early: 0 memfail: 0 duprexmt:0 ]
[ flows total: 0 new: 0 old: 0 ]
[ throttle on: 0 off: 0 drop: 0 ]
=====================================================
[ pri: BE (7) srv_cl: 0x0 quantum: 1500 drr_max: 4 ]
[ queued pkts: 0 bytes: 0 ]
[ dequeued pkts: 6737285 bytes: 1608200668 ]
[ budget: 0 target qdelay: 10.00 msec update interval:100.00 msec ]
[ flow control: 1 feedback: 1 stalls: 0 failed: 0 ]
[ drop overflow: 0 early: 0 memfail: 0 duprexmt:0 ]
[ flows total: 0 new: 0 old: 0 ]
[ throttle on: 0 off: 0 drop: 0 ]
=====================================================
[ pri: BK (8) srv_cl: 0x100080 quantum: 1500 drr_max: 2 ]
[ queued pkts: 0 bytes: 0 ]
[ dequeued pkts: 1396402 bytes: 382861004 ]
[ budget: 0 target qdelay: 10.00 msec update interval:100.00 msec ]
[ flow control: 0 feedback: 0 stalls: 0 failed: 0 ]
[ drop overflow: 0 early: 0 memfail: 0 duprexmt:0 ]
[ flows total: 0 new: 0 old: 0 ]
[ throttle on: 0 off: 0 drop: 0 ]
macbook:~ user $
--
Dave Täht
CEO, TekLibre, LLC
http://www.teklibre.com
Tel: 1-669-226-2619
Sebastian Moeller
2018-09-08 15:35:24 UTC
Permalink
I ran a quick rrul_cs8 test and I see some counters are actually increasing, though most stay at zero (which might be okay, I have no shaper configured on the macbook):


macbook:~ user$ sudo netstat -I en0 -qq
en0:
[ sched: FQ_CODEL qlength: 0/128 ]
[ pkts: 0 bytes: 0 dropped pkts: 480 bytes: 77809 ]
=====================================================
[ pri: VO (1) srv_cl: 0x400180 quantum: 600 drr_max: 8 ]
[ queued pkts: 0 bytes: 0 ]
[ dequeued pkts: 223138 bytes: 77920371 ]
[ budget: 0 target qdelay: 10.00 msec update interval:100.00 msec ]
[ flow control: 0 feedback: 0 stalls: 0 failed: 0 ]
[ drop overflow: 0 early: 0 memfail: 0 duprexmt:0 ]
[ flows total: 0 new: 0 old: 0 ]
[ throttle on: 0 off: 0 drop: 0 ]
=====================================================
[ pri: VI (2) srv_cl: 0x380100 quantum: 3000 drr_max: 6 ]
[ queued pkts: 0 bytes: 0 ]
[ dequeued pkts: 1290573 bytes: 156658208 ]
[ budget: 0 target qdelay: 10.00 msec update interval:100.00 msec ]
[ flow control: 0 feedback: 0 stalls: 0 failed: 0 ]
[ drop overflow: 0 early: 0 memfail: 0 duprexmt:0 ]
[ flows total: 0 new: 0 old: 0 ]
[ throttle on: 0 off: 0 drop: 0 ]
=====================================================
[ pri: BE (7) srv_cl: 0x0 quantum: 1500 drr_max: 4 ]
[ queued pkts: 0 bytes: 0 ]
[ dequeued pkts: 6910907 bytes: 1684837312 ]
[ budget: 0 target qdelay: 10.00 msec update interval:100.00 msec ]
[ flow control: 1 feedback: 1 stalls: 0 failed: 0 ]
[ drop overflow: 0 early: 0 memfail: 0 duprexmt:0 ]
[ flows total: 0 new: 0 old: 0 ]
[ throttle on: 0 off: 0 drop: 0 ]
=====================================================
[ pri: BK (8) srv_cl: 0x100080 quantum: 1500 drr_max: 2 ]
[ queued pkts: 0 bytes: 0 ]
[ dequeued pkts: 1535662 bytes: 438122731 ]
[ budget: 0 target qdelay: 10.00 msec update interval:100.00 msec ]
[ flow control: 0 feedback: 0 stalls: 0 failed: 0 ]
[ drop overflow: 0 early: 0 memfail: 0 duprexmt:0 ]
[ flows total: 0 new: 0 old: 0 ]
[ throttle on: 0 off: 0 drop: 0 ]
macbook:~ user $


I also have the impression, that VI seems to be optimized for ~2 MTUs probably to elicit one ACK per txop?

Best Regards
Sebastian
Post by Dave Taht
Post by Sebastian Moeller
Hi Dave,
Jason Woringen just told me that macosx seems to include fq_codel now as well as some involved priority queues that I can not make much sense of. It might simply have inherited this from its freebsd underpinnings...
Wow. I had no idea. I know that they enabled tcp ecn universally last
year... but not fq_codel!! Holy cow!
Same here on my air....
daves-Air-3:wiki d$ netstat -I en0 -qq
[ sched: FQ_CODEL qlength: 0/128 ]
[ pkts: 0 bytes: 0 dropped pkts: 13262
bytes: 8469105 ]
=====================================================
[ pri: VO (1) srv_cl: 0x400180 quantum: 600 drr_max: 8 ]
[ queued pkts: 0 bytes: 0 ]
[ dequeued pkts: 380295 bytes: 47356766 ]
[ budget: 0 target qdelay: 10.00 msec update interval:100.00 msec ]
[ flow control: 0 feedback: 0 stalls: 0 failed: 0 ]
[ drop overflow: 0 early: 0 memfail: 0 duprexmt:0 ]
[ flows total: 0 new: 0 old: 0 ]
[ throttle on: 0 off: 0 drop: 0 ]
=====================================================
[ pri: VI (2) srv_cl: 0x380100 quantum: 3000 drr_max: 6 ]
[ queued pkts: 0 bytes: 0 ]
[ dequeued pkts: 4339 bytes: 321840 ]
[ budget: 0 target qdelay: 10.00 msec update interval:100.00 msec ]
[ flow control: 0 feedback: 0 stalls: 0 failed: 0 ]
[ drop overflow: 0 early: 0 memfail: 0 duprexmt:0 ]
[ flows total: 0 new: 0 old: 0 ]
[ throttle on: 0 off: 0 drop: 0 ]
=====================================================
[ pri: BE (7) srv_cl: 0x0 quantum: 1500 drr_max: 4 ]
[ queued pkts: 0 bytes: 0 ]
[ dequeued pkts: 40497473 bytes: 11269032336 ]
[ budget: 0 target qdelay: 10.00 msec update interval:100.00 msec ]
[ flow control: 86 feedback: 86 stalls: 4 failed: 0 ]
[ drop overflow: 3116 early: 854 memfail: 0 duprexmt:0 ]
[ flows total: 0 new: 0 old: 0 ]
[ throttle on: 0 off: 0 drop: 0 ]
=====================================================
[ pri: BK (8) srv_cl: 0x100080 quantum: 1500 drr_max: 2 ]
[ queued pkts: 0 bytes: 0 ]
[ dequeued pkts: 1553687 bytes: 358969659 ]
[ budget: 0 target qdelay: 10.00 msec update interval:100.00 msec ]
[ flow control: 0 feedback: 0 stalls: 0 failed: 0 ]
[ drop overflow: 0 early: 0 memfail: 0 duprexmt:0 ]
[ flows total: 0 new: 0 old: 0 ]
Post by Sebastian Moeller
en4 is 1Gbps ethernet
macbook:~ user$ netstat -I en4 -qq
[ sched: FQ_CODEL qlength: 0/128 ]
[ pkts: 100 bytes: 28920 dropped pkts: 1 bytes: 342 ]
=====================================================
[ pri: CTL (0) srv_cl: 0x480190 quantum: 600 drr_max: 8 ]
[ queued pkts: 0 bytes: 0 ]
[ dequeued pkts: 91 bytes: 27706 ]
[ budget: 0 target qdelay: 5.00 msec update interval:100.00 msec ]
[ flow control: 0 feedback: 0 stalls: 0 failed: 0 ]
[ drop overflow: 0 early: 0 memfail: 0 duprexmt:0 ]
[ flows total: 0 new: 0 old: 0 ]
[ throttle on: 0 off: 0 drop: 0 ]
=====================================================
[ pri: VO (1) srv_cl: 0x400180 quantum: 600 drr_max: 8 ]
[ queued pkts: 0 bytes: 0 ]
[ dequeued pkts: 0 bytes: 0 ]
[ budget: 0 target qdelay: 5.00 msec update interval:100.00 msec ]
[ flow control: 0 feedback: 0 stalls: 0 failed: 0 ]
[ drop overflow: 0 early: 0 memfail: 0 duprexmt:0 ]
[ flows total: 0 new: 0 old: 0 ]
[ throttle on: 0 off: 0 drop: 0 ]
=====================================================
[ pri: VI (2) srv_cl: 0x380100 quantum: 3000 drr_max: 6 ]
[ queued pkts: 0 bytes: 0 ]
[ dequeued pkts: 0 bytes: 0 ]
[ budget: 0 target qdelay: 5.00 msec update interval:100.00 msec ]
[ flow control: 0 feedback: 0 stalls: 0 failed: 0 ]
[ drop overflow: 0 early: 0 memfail: 0 duprexmt:0 ]
[ flows total: 0 new: 0 old: 0 ]
[ throttle on: 0 off: 0 drop: 0 ]
=====================================================
[ pri: RV (3) srv_cl: 0x300110 quantum: 3000 drr_max: 6 ]
[ queued pkts: 0 bytes: 0 ]
[ dequeued pkts: 0 bytes: 0 ]
[ budget: 0 target qdelay: 5.00 msec update interval:100.00 msec ]
[ flow control: 0 feedback: 0 stalls: 0 failed: 0 ]
[ drop overflow: 0 early: 0 memfail: 0 duprexmt:0 ]
[ flows total: 0 new: 0 old: 0 ]
[ throttle on: 0 off: 0 drop: 0 ]
=====================================================
[ pri: AV (4) srv_cl: 0x280120 quantum: 3000 drr_max: 6 ]
[ queued pkts: 0 bytes: 0 ]
[ dequeued pkts: 0 bytes: 0 ]
[ budget: 0 target qdelay: 5.00 msec update interval:100.00 msec ]
[ flow control: 0 feedback: 0 stalls: 0 failed: 0 ]
[ drop overflow: 0 early: 0 memfail: 0 duprexmt:0 ]
[ flows total: 0 new: 0 old: 0 ]
[ throttle on: 0 off: 0 drop: 0 ]
=====================================================
[ pri: OAM (5) srv_cl: 0x200020 quantum: 1500 drr_max: 4 ]
[ queued pkts: 0 bytes: 0 ]
[ dequeued pkts: 0 bytes: 0 ]
[ budget: 0 target qdelay: 5.00 msec update interval:100.00 msec ]
[ flow control: 0 feedback: 0 stalls: 0 failed: 0 ]
[ drop overflow: 0 early: 0 memfail: 0 duprexmt:0 ]
[ flows total: 0 new: 0 old: 0 ]
[ throttle on: 0 off: 0 drop: 0 ]
=====================================================
[ pri: RD (6) srv_cl: 0x180010 quantum: 1500 drr_max: 4 ]
[ queued pkts: 0 bytes: 0 ]
[ dequeued pkts: 0 bytes: 0 ]
[ budget: 0 target qdelay: 5.00 msec update interval:100.00 msec ]
[ flow control: 0 feedback: 0 stalls: 0 failed: 0 ]
[ drop overflow: 0 early: 0 memfail: 0 duprexmt:0 ]
[ flows total: 0 new: 0 old: 0 ]
[ throttle on: 0 off: 0 drop: 0 ]
=====================================================
[ pri: BE (7) srv_cl: 0x0 quantum: 1500 drr_max: 4 ]
[ queued pkts: 0 bytes: 0 ]
[ dequeued pkts: 9 bytes: 1214 ]
[ budget: 0 target qdelay: 5.00 msec update interval:100.00 msec ]
[ flow control: 0 feedback: 0 stalls: 0 failed: 0 ]
[ drop overflow: 0 early: 0 memfail: 0 duprexmt:0 ]
[ flows total: 0 new: 0 old: 0 ]
[ throttle on: 0 off: 0 drop: 0 ]
=====================================================
[ pri: BK (8) srv_cl: 0x100080 quantum: 1500 drr_max: 2 ]
[ queued pkts: 0 bytes: 0 ]
[ dequeued pkts: 0 bytes: 0 ]
[ budget: 0 target qdelay: 5.00 msec update interval:100.00 msec ]
[ flow control: 0 feedback: 0 stalls: 0 failed: 0 ]
[ drop overflow: 0 early: 0 memfail: 0 duprexmt:0 ]
[ flows total: 0 new: 0 old: 0 ]
[ throttle on: 0 off: 0 drop: 0 ]
=====================================================
[ pri: BK_SYS (9) srv_cl: 0x80090 quantum: 1500 drr_max: 2 ]
[ queued pkts: 0 bytes: 0 ]
[ dequeued pkts: 0 bytes: 0 ]
[ budget: 0 target qdelay: 5.00 msec update interval:100.00 msec ]
[ flow control: 0 feedback: 0 stalls: 0 failed: 0 ]
[ drop overflow: 0 early: 0 memfail: 0 duprexmt:0 ]
[ flows total: 0 new: 0 old: 0 ]
[ throttle on: 0 off: 0 drop: 0 ]
macbook:~ user$
and on wifi (en0)
macbook:~ user $ netstat -I en0 -qq
[ sched: FQ_CODEL qlength: 0/128 ]
[ pkts: 0 bytes: 0 dropped pkts: 480 bytes: 77809 ]
=====================================================
[ pri: VO (1) srv_cl: 0x400180 quantum: 600 drr_max: 8 ]
[ queued pkts: 0 bytes: 0 ]
[ dequeued pkts: 72537 bytes: 7015758 ]
[ budget: 0 target qdelay: 10.00 msec update interval:100.00 msec ]
[ flow control: 0 feedback: 0 stalls: 0 failed: 0 ]
[ drop overflow: 0 early: 0 memfail: 0 duprexmt:0 ]
[ flows total: 0 new: 0 old: 0 ]
[ throttle on: 0 off: 0 drop: 0 ]
=====================================================
[ pri: VI (2) srv_cl: 0x380100 quantum: 3000 drr_max: 6 ]
[ queued pkts: 0 bytes: 0 ]
[ dequeued pkts: 1139670 bytes: 80872250 ]
[ budget: 0 target qdelay: 10.00 msec update interval:100.00 msec ]
[ flow control: 0 feedback: 0 stalls: 0 failed: 0 ]
[ drop overflow: 0 early: 0 memfail: 0 duprexmt:0 ]
[ flows total: 0 new: 0 old: 0 ]
[ throttle on: 0 off: 0 drop: 0 ]
=====================================================
[ pri: BE (7) srv_cl: 0x0 quantum: 1500 drr_max: 4 ]
[ queued pkts: 0 bytes: 0 ]
[ dequeued pkts: 6737285 bytes: 1608200668 ]
[ budget: 0 target qdelay: 10.00 msec update interval:100.00 msec ]
[ flow control: 1 feedback: 1 stalls: 0 failed: 0 ]
[ drop overflow: 0 early: 0 memfail: 0 duprexmt:0 ]
[ flows total: 0 new: 0 old: 0 ]
[ throttle on: 0 off: 0 drop: 0 ]
=====================================================
[ pri: BK (8) srv_cl: 0x100080 quantum: 1500 drr_max: 2 ]
[ queued pkts: 0 bytes: 0 ]
[ dequeued pkts: 1396402 bytes: 382861004 ]
[ budget: 0 target qdelay: 10.00 msec update interval:100.00 msec ]
[ flow control: 0 feedback: 0 stalls: 0 failed: 0 ]
[ drop overflow: 0 early: 0 memfail: 0 duprexmt:0 ]
[ flows total: 0 new: 0 old: 0 ]
[ throttle on: 0 off: 0 drop: 0 ]
macbook:~ user $
--
Dave Täht
CEO, TekLibre, LLC
http://www.teklibre.com
Tel: 1-669-226-2619
Dave Taht
2018-09-08 15:54:36 UTC
Permalink
This post might be inappropriate. Click to display it.
Pete Heist
2018-09-08 21:17:32 UTC
Permalink
Post by Dave Taht
Post by Sebastian Moeller
Hi Dave,
Jason Woringen just told me that macosx seems to include fq_codel now as well as some involved priority queues that I can not make much sense of. It might simply have inherited this from its freebsd underpinnings...
Wow. I had no idea. I know that they enabled tcp ecn universally last
year... but not fq_codel!! Holy cow!
Woah is right. It’s not in OS/X 10.11, but I also see it in 10.13, so it was either added in 10.12 or 10.13.

fq_codel: good enough for Apple, but not systemd. :)

Pete
Dave Taht
2018-09-08 21:58:40 UTC
Permalink
Post by Sebastian Moeller
Hi Dave,
Jason Woringen just told me that macosx seems to include fq_codel now as well as some involved priority queues that I can not make much sense of. It might simply have inherited this from its freebsd underpinnings...
Wow. I had no idea. I know that they enabled tcp ecn universally last
year... but not fq_codel!! Holy cow!
Woah is right. It’s not in OS/X 10.11, but I also see it in 10.13, so it was either added in 10.12 or 10.13.
fq_codel: good enough for Apple, but not systemd. :)
Well I should probably write more on that subject than I already have.
Post by Sebastian Moeller
Pete
--
Dave Täht
CEO, TekLibre, LLC
http://www.teklibre.com
Tel: 1-669-226-2619
Toke Høiland-Jørgensen
2018-09-09 18:49:05 UTC
Permalink
Post by Dave Taht
Post by Sebastian Moeller
Hi Dave,
Jason Woringen just told me that macosx seems to include fq_codel now as well as some involved priority queues that I can not make much sense of. It might simply have inherited this from its freebsd underpinnings...
Wow. I had no idea. I know that they enabled tcp ecn universally last
year... but not fq_codel!! Holy cow!
Woah is right. It’s not in OS/X 10.11, but I also see it in 10.13, so it was either added in 10.12 or 10.13.
fq_codel: good enough for Apple, but not systemd. :)
Well I should probably write more on that subject than I already have.
Erm, fq_codel has been the default in systemd for quite a while now?

-Toke
Jonathan Morton
2018-09-09 18:51:40 UTC
Permalink
Post by Toke Høiland-Jørgensen
Erm, fq_codel has been the default in systemd for quite a while now?
Yes, but there's an issue open to change it to sch_fq, which is apparently being taken seriously.

- Jonathan Morton
Dave Taht
2018-09-09 20:38:17 UTC
Permalink
Post by Jonathan Morton
Post by Toke Høiland-Jørgensen
Erm, fq_codel has been the default in systemd for quite a while now?
Yes, but there's an issue open to change it to sch_fq, which is apparently being taken seriously.
I'm pretty sure I squashed that: https://github.com/systemd/systemd/issues/9725

That, and this: https://github.com/systemd/systemd/issues/9748

were my impetus to get the ecn-sane project off the ground.

Anyone for fq'd socket (udp) buffers in linux? A udp_sent_lowat setsockopt?
Post by Jonathan Morton
- Jonathan Morton
--
Dave Täht
CEO, TekLibre, LLC
http://www.teklibre.com
Tel: 1-669-226-2619
Loading...