General list for discussing Bufferbloat
 help / color / mirror / Atom feed
* [Bloat] fq_codel on macosx
@ 2018-09-08 15:12 Sebastian Moeller
  2018-09-08 15:24 ` Dave Taht
  0 siblings, 1 reply; 9+ messages in thread
From: Sebastian Moeller @ 2018-09-08 15:12 UTC (permalink / raw)
  To: bloat, Dave Täht

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 $ 



 



^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [Bloat] fq_codel on macosx
  2018-09-08 15:12 [Bloat] fq_codel on macosx Sebastian Moeller
@ 2018-09-08 15:24 ` Dave Taht
  2018-09-08 15:35   ` Sebastian Moeller
                     ` (2 more replies)
  0 siblings, 3 replies; 9+ messages in thread
From: Dave Taht @ 2018-09-08 15:24 UTC (permalink / raw)
  To: Sebastian Moeller; +Cc: bloat

On Sat, Sep 8, 2018 at 8:12 AM Sebastian Moeller <moeller0@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

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [Bloat] fq_codel on macosx
  2018-09-08 15:24 ` Dave Taht
@ 2018-09-08 15:35   ` Sebastian Moeller
  2018-09-08 15:54   ` Dave Taht
  2018-09-08 21:17   ` Pete Heist
  2 siblings, 0 replies; 9+ messages in thread
From: Sebastian Moeller @ 2018-09-08 15:35 UTC (permalink / raw)
  To: Dave Täht; +Cc: bloat

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


> On Sep 8, 2018, at 17:24, Dave Taht <dave.taht@gmail.com> wrote:
> 
> On Sat, Sep 8, 2018 at 8:12 AM Sebastian Moeller <moeller0@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


^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [Bloat] fq_codel on macosx
  2018-09-08 15:24 ` Dave Taht
  2018-09-08 15:35   ` Sebastian Moeller
@ 2018-09-08 15:54   ` Dave Taht
  2018-09-08 21:17   ` Pete Heist
  2 siblings, 0 replies; 9+ messages in thread
From: Dave Taht @ 2018-09-08 15:54 UTC (permalink / raw)
  To: Sebastian Moeller; +Cc: bloat

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

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

Not sure what this means. I think they are using fairly short queues
(which is fine given this is a wifi box),
so they are taking advantage of the fq, but tail dropping a lot.
"Early" would be my guess for codel itself
engaging. As for flow control? ecn? Dunno. I've not looked at direct
packet captures much on osx. Now I shall.

I note I recently added something to increase the signal strength in
fq_codel's bulk dropper, based on my observation that with openwrt's
shorter queues (1000 packets) it still tail dropped a lot, and you
could clearly see a bifurcation in flow behaviors when that started
happening.

https://github.com/dtaht/fq_codel_fast
On Sat, Sep 8, 2018 at 8:24 AM Dave Taht <dave.taht@gmail.com> wrote:
>
> On Sat, Sep 8, 2018 at 8:12 AM Sebastian Moeller <moeller0@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



-- 

Dave Täht
CEO, TekLibre, LLC
http://www.teklibre.com
Tel: 1-669-226-2619

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [Bloat] fq_codel on macosx
  2018-09-08 15:24 ` Dave Taht
  2018-09-08 15:35   ` Sebastian Moeller
  2018-09-08 15:54   ` Dave Taht
@ 2018-09-08 21:17   ` Pete Heist
  2018-09-08 21:58     ` Dave Taht
  2 siblings, 1 reply; 9+ messages in thread
From: Pete Heist @ 2018-09-08 21:17 UTC (permalink / raw)
  To: Dave Taht; +Cc: Sebastian Moeller, bloat

[-- Attachment #1: Type: text/plain, Size: 718 bytes --]


> On Sep 8, 2018, at 5:24 PM, Dave Taht <dave.taht@gmail.com> wrote:
> 
> On Sat, Sep 8, 2018 at 8:12 AM Sebastian Moeller <moeller0@gmx.de <mailto:moeller0@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!

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


[-- Attachment #2: Type: text/html, Size: 4931 bytes --]

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [Bloat] fq_codel on macosx
  2018-09-08 21:17   ` Pete Heist
@ 2018-09-08 21:58     ` Dave Taht
  2018-09-09 18:49       ` Toke Høiland-Jørgensen
  0 siblings, 1 reply; 9+ messages in thread
From: Dave Taht @ 2018-09-08 21:58 UTC (permalink / raw)
  To: Pete Heist; +Cc: Sebastian Moeller, bloat

On Sat, Sep 8, 2018 at 2:17 PM Pete Heist <pete@heistp.net> wrote:
>
>
> On Sep 8, 2018, at 5:24 PM, Dave Taht <dave.taht@gmail.com> wrote:
>
> On Sat, Sep 8, 2018 at 8:12 AM Sebastian Moeller <moeller0@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!
>
>
> 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.
> Pete
>


-- 

Dave Täht
CEO, TekLibre, LLC
http://www.teklibre.com
Tel: 1-669-226-2619

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [Bloat] fq_codel on macosx
  2018-09-08 21:58     ` Dave Taht
@ 2018-09-09 18:49       ` Toke Høiland-Jørgensen
  2018-09-09 18:51         ` Jonathan Morton
  0 siblings, 1 reply; 9+ messages in thread
From: Toke Høiland-Jørgensen @ 2018-09-09 18:49 UTC (permalink / raw)
  To: Dave Taht, Pete Heist; +Cc: bloat

Dave Taht <dave.taht@gmail.com> writes:

> On Sat, Sep 8, 2018 at 2:17 PM Pete Heist <pete@heistp.net> wrote:
>>
>>
>> On Sep 8, 2018, at 5:24 PM, Dave Taht <dave.taht@gmail.com> wrote:
>>
>> On Sat, Sep 8, 2018 at 8:12 AM Sebastian Moeller <moeller0@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!
>>
>>
>> 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

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [Bloat] fq_codel on macosx
  2018-09-09 18:49       ` Toke Høiland-Jørgensen
@ 2018-09-09 18:51         ` Jonathan Morton
  2018-09-09 20:38           ` Dave Taht
  0 siblings, 1 reply; 9+ messages in thread
From: Jonathan Morton @ 2018-09-09 18:51 UTC (permalink / raw)
  To: Toke Høiland-Jørgensen; +Cc: Dave Taht, Pete Heist, bloat

> On 9 Sep, 2018, at 9:49 pm, Toke Høiland-Jørgensen <toke@toke.dk> wrote:
> 
> 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


^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [Bloat] fq_codel on macosx
  2018-09-09 18:51         ` Jonathan Morton
@ 2018-09-09 20:38           ` Dave Taht
  0 siblings, 0 replies; 9+ messages in thread
From: Dave Taht @ 2018-09-09 20:38 UTC (permalink / raw)
  To: Jonathan Morton; +Cc: Toke Høiland-Jørgensen, Pete Heist, bloat

On Sun, Sep 9, 2018 at 11:51 AM Jonathan Morton <chromatix99@gmail.com> wrote:
>
> > On 9 Sep, 2018, at 9:49 pm, Toke Høiland-Jørgensen <toke@toke.dk> wrote:
> >
> > 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?


>  - Jonathan Morton
>


-- 

Dave Täht
CEO, TekLibre, LLC
http://www.teklibre.com
Tel: 1-669-226-2619

^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2018-09-09 20:37 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-09-08 15:12 [Bloat] fq_codel on macosx Sebastian Moeller
2018-09-08 15:24 ` Dave Taht
2018-09-08 15:35   ` Sebastian Moeller
2018-09-08 15:54   ` Dave Taht
2018-09-08 21:17   ` Pete Heist
2018-09-08 21:58     ` Dave Taht
2018-09-09 18:49       ` Toke Høiland-Jørgensen
2018-09-09 18:51         ` Jonathan Morton
2018-09-09 20:38           ` Dave Taht

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox