Turns out that with the "earliest departure time" support in sched_fq, it is now possible to write a shaper in eBPF, thus avoiding the global qdisc lock in sched_htb. This is pretty cool, if you ask me! :) -Toke