summaryrefslogtreecommitdiffstats
path: root/net/ipv4
diff options
context:
space:
mode:
authorEric Dumazet <edumazet@google.com>2013-06-15 03:30:10 -0700
committerDavid S. Miller <davem@davemloft.net>2013-06-19 23:06:52 -0700
commitc9364636dcb01a6fc37ca2c6a51c5aa0c663013c (patch)
tree4ea94902a65b0f3ca46ec82652da39b0dea59d55 /net/ipv4
parentbcefe17cffd06efdda3e7ad679ea743236e6271a (diff)
downloadblackbird-op-linux-c9364636dcb01a6fc37ca2c6a51c5aa0c663013c.tar.gz
blackbird-op-linux-c9364636dcb01a6fc37ca2c6a51c5aa0c663013c.zip
htb: refactor struct htb_sched fields for performance
htb_sched structures are big, and source of false sharing on SMP. Every time a packet is queued or dequeue, many cache lines must be touched because structures are not lay out properly. By carefully splitting htb_sched in two parts, and define sub structures to increase data locality, we can improve performance dramatically on SMP. New htb_prio structure can also be used in htb_class to increase data locality. I got 26 % performance increase on a 24 threads machine, with 200 concurrent netperf in TCP_RR mode, using a HTB hierarchy of 4 classes. Signed-off-by: Eric Dumazet <edumazet@google.com> Cc: Tom Herbert <therbert@google.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/ipv4')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud