Toke Høiland-Jørgensen <t...@toke.dk> writes: > Dave Taht <dave.t...@gmail.com> writes: > >> https://github.com/gautamramk/FQ-PIE-for-Linux-Kernel/issues/2 > > With all the variants of fq+AQM, maybe decoupling the FQ part and the > AQM part would be worthwhile, instead of reimplementing it for each > variant...
I actually sat down to write a userspace implementation of the fq bits in C with a pluggable AQM a while back. I called it "drrp". I think that there are many applications today that do too much processing per packet, and end up with their recv socket buffer overflowing (ENOBUFS) and tail-dropping in the kernel. I've certainly seen this with babeld, in particular. So by putting an intervening layer around the udp recv call to keep calling that as fast as possible, and try to FQ and AQM the result, I thought we'd get better fairness between different flows over udp and a smarter means of shedding load when that was happening. Then... there was all this activity recently around other approaches to the udp problem in the kernel, and I gave up while that got sorted out. (I'd rather like a setsockopt that sorted packets in the recv socket buffer and head-dropped... ) While trying to work entirely from memory, using things like queue.h's TAILQ macros... it ended up looking almost exactly like eric's code (because that's so perfect! :)) and what I really needed (for babel) was a version that was BSD-licensed. So I figured I'd look hard at the freeBSD version and try to write from that... or a hard look at cake... and never got back to it. I guess we could ask eric if he'd mind if we just ported fq_codel to userspace and relicensed. Wouldn't mind a go and rust version while we're at it... The only difference in what I wrote was that I never liked the "search all the queues on overload" bit in fq_codel and just did that inline. This looked to work well with the bulk dropper. > > -Toke > _______________________________________________ > Cerowrt-devel mailing list > Cerowrt-devel@lists.bufferbloat.net > https://lists.bufferbloat.net/listinfo/cerowrt-devel _______________________________________________ Cerowrt-devel mailing list Cerowrt-devel@lists.bufferbloat.net https://lists.bufferbloat.net/listinfo/cerowrt-devel