diff options
author | Peter Oskolkov | 2018-12-04 20:55:56 +0100 |
---|---|---|
committer | David S. Miller | 2018-12-06 05:18:41 +0100 |
commit | d66280b12bd7ad6345df4dee2ee1c20f5902242d (patch) | |
tree | 888236ef605669fde8635a6a1c5e52af173e9b8f /drivers/net/ethernet/sun/sunhme.c | |
parent | Merge branch 'net-bridge-convert-multicast-to-generic-rhashtable' (diff) | |
download | kernel-qcow2-linux-d66280b12bd7ad6345df4dee2ee1c20f5902242d.tar.gz kernel-qcow2-linux-d66280b12bd7ad6345df4dee2ee1c20f5902242d.tar.xz kernel-qcow2-linux-d66280b12bd7ad6345df4dee2ee1c20f5902242d.zip |
net: netem: use a list in addition to rbtree
When testing high-bandwidth TCP streams with large windows,
high latency, and low jitter, netem consumes a lot of CPU cycles
doing rbtree rebalancing.
This patch uses a linear list/queue in addition to the rbtree:
if an incoming packet is past the tail of the linear queue, it is
added there, otherwise it is inserted into the rbtree.
Without this patch, perf shows netem_enqueue, netem_dequeue,
and rb_* functions among the top offenders. With this patch,
only netem_enqueue is noticeable if jitter is low/absent.
Suggested-by: Eric Dumazet <edumazet@google.com>
Signed-off-by: Peter Oskolkov <posk@google.com>
Reviewed-by: Eric Dumazet <edumazet@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/ethernet/sun/sunhme.c')
0 files changed, 0 insertions, 0 deletions