aboutsummaryrefslogtreecommitdiffstats
path: root/net/ethernet
diff options
context:
space:
mode:
authorEric Dumazet <edumazet@google.com>2013-06-28 07:40:57 -0700
committerDavid S. Miller <davem@davemloft.net>2013-07-01 18:07:15 -0700
commitaec0a40a6f78843c0ce73f7398230ee5184f896d (patch)
treeb9a68c7c98b2d036ba7396c55f717d17c50f12a4 /net/ethernet
parentd0b5e516298fba30774e2df22cfbd00ecb09c298 (diff)
downloadkernel_goldelico_gta04-aec0a40a6f78843c0ce73f7398230ee5184f896d.zip
kernel_goldelico_gta04-aec0a40a6f78843c0ce73f7398230ee5184f896d.tar.gz
kernel_goldelico_gta04-aec0a40a6f78843c0ce73f7398230ee5184f896d.tar.bz2
netem: use rb tree to implement the time queue
Following typical setup to implement a ~100 ms RTT and big amount of reorders has very poor performance because netem implements the time queue using a linked list. ----------------------------------------------------------- ETH=eth0 IFB=ifb0 modprobe ifb ip link set dev $IFB up tc qdisc add dev $ETH ingress 2>/dev/null tc filter add dev $ETH parent ffff: \ protocol ip u32 match u32 0 0 flowid 1:1 action mirred egress \ redirect dev $IFB ethtool -K $ETH gro off tso off gso off tc qdisc add dev $IFB root netem delay 50ms 10ms limit 100000 tc qd add dev $ETH root netem delay 50ms limit 100000 --------------------------------------------------------- Switch netem time queue to a rb tree, so this kind of setup can work at high speed. Signed-off-by: Eric Dumazet <edumazet@google.com> Cc: Stephen Hemminger <stephen@networkplumber.org> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/ethernet')
0 files changed, 0 insertions, 0 deletions