As that's the highest cpu user there is, (and the biggest problem I have, on comcast, there's 2 sec of latency at 100mbit without shaping:
http://www.taht.net/~d/comcast2/asmiserabledlasever.png (more flent data there). It's always been a daydream to somehow bypass the existing tc_mirred facility we use and be able to express: tc qdisc add dev eth0 ingress cake bandwidth 990mbit and have that "just work". My hope would be that that would halve the packet copies needed (don't know if that's the case in the first place)... When I last looked at it (2+ years ago), that portion of linux was a hairball that extended back to the late 90s, and I gave up. There were a few commits there recently - adding hardware offload support for the flower classifier and this one: commit d2788d34885d4ce5ba17a8996fd95d28942e574e Author: Daniel Borkmann <[email protected]> Date: Sat May 9 22:51:32 2015 +0200 net: sched: further simplify handle_ing Ingress qdisc has no other purpose than calling into tc_classify() that executes attached classifier(s) and action(s). It has a 1:1 relationship to dev->ingress_queue. After having commit 087c1a601ad7 ("net: sched: run ingress qdisc without locks") removed the central ingress lock, one major contention point is gone. The extra indirection layers however, are not necessary for calling into ingress qdisc. pktgen calling locally into netif_receive_skb() with a dummy u32, single CPU result on a Supermicro X10SLM-F, Xeon E3-1240: before ~21,1 Mpps, after patch ~22,9 Mpps. -- Dave Täht Let's go make home routers and wifi faster! With better software! http://blog.cerowrt.org _______________________________________________ Cake mailing list [email protected] https://lists.bufferbloat.net/listinfo/cake
