From: Peter Oskolkov <p...@google.com> Date: Tue, 4 Dec 2018 11:55:56 -0800
> 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 <eduma...@google.com> > Signed-off-by: Peter Oskolkov <p...@google.com> Applied, thanks.