Kan Yan <kyan@xxxxxxxxxx> writes: >> In theory, this ought to produce a histogram of sojourn times (in >> microseconds): >> bpftrace -e 'kretprobe:codel_skb_time_func { @sojourn = lhist((nsecs - > (retval << 10))/1000, 0, 100000, 1000); }' > > Thanks for the tips! > >> Can't get the CoDel drop mechanism to trigger on my system at all, >> though (a laptop running on iwl). I guess because there's queue >> backpressure to userspace first? > > What's the tcp_congestion_control in your system? Maybe it is BBR that > prevents bufferbloat. It's not BBR, just plain old CUBIC. I've seen the issue before that it's almost impossible to build a queue in the mac80211 layer when the TCP session is originated on the local machine, though... >> It would be interesting to see if it works for you, assuming you can get >> bpftrace to work on your test system :) > > I can enable required kernel configuration easily, but cross-compile > bpftrace for an ARM64 platform may take some time and effort. Yeah, bpftrace can be a bit of a pain to get running; but it may be worth the investment longer term as well. It really is quite useful! :) Some links: Install guide: https://github.com/iovisor/bpftrace/blob/master/INSTALL.md Tutorial by one-liners: https://github.com/iovisor/bpftrace/blob/master/docs/tutorial_one_liners.md Reference guide: https://github.com/iovisor/bpftrace/blob/master/docs/reference_guide.md#5-tracepoint-static-tracing-kernel-level -Toke