[Bloat] fq_codel on macosx

Dave Taht dave.taht at gmail.com
Sat Sep 8 11:24:03 EDT 2018


On Sat, Sep 8, 2018 at 8:12 AM Sebastian Moeller <moeller0 at gmx.de> wrote:
>
> 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 ]



> 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 Täht
CEO, TekLibre, LLC
http://www.teklibre.com
Tel: 1-669-226-2619



More information about the Bloat mailing list