I wanted to share my best settings for gaming, having tried many limiters, qdiscs, and different mixups.
This seems to be the best setup:
root@OpenWrt:~# cat /etc/rc.local
# Put your custom commands here that should be executed once
# the system init finished. By default this file does nothing.
ethtool -G eth0 tx 8
echo '12000' > /sys/class/net/eth0/queues/tx-0/byte_queue_limits/limit_max
exit 0
root@OpenWrt:~# cat /etc/sysctl.conf
# Defaults are configured in /etc/sysctl.d/* and can be customized in this file
net.ipv4.tcp_low_latency=1
root@OpenWrt:~# tc -d qdisc show dev eth0.2
qdisc cake 805c: root refcnt 2 bandwidth 10Mbit diffserv3 flows nonat nowash no-ack-filter split-gso rtt 150ms noatm overhead 22 mpu 64
qdisc ingress ffff: parent ffff:fff1 ----------------
root@OpenWrt:~# tc -d qdisc show dev ifb4eth0.2
qdisc cake 805d: root refcnt 2 bandwidth 45Mbit besteffort flows nonat wash ingress no-ack-filter split-gso rtt 150ms noatm overhead 22 mpu 64
root@OpenWrt:~# cat /etc/firewall.user
# This file is interpreted as shell script.
# Put your custom iptables rules here, they will
# be executed with each firewall (re-)start.
# Internal uci firewall chains are flushed and recreated on reload, so
# put custom rules into the root chains e.g. INPUT or FORWARD or into the
# special user chains, e.g. input_wan_rule or postrouting_lan_rule.
iptables -t mangle -A PREROUTING -p udp --dport 3074 -j DSCP --set-dscp 0x30
iptables -t mangle -A POSTROUTING -p udp --sport 3074 -j DSCP --set-dscp 0x30
All offloads on every interface are off except for wlan & loopback. This is the major cause of most of your lag if your connection is slower than 100mbps, even with AQM enabled.
(even with cake's ability to peel superpackets into smaller one)