net: sched: use no more than one page in struct fw_head
authorEric Dumazet <edumazet@google.com>
Tue, 18 Mar 2014 03:20:49 +0000 (20:20 -0700)
committerDavid S. Miller <davem@davemloft.net>
Tue, 18 Mar 2014 18:17:55 +0000 (14:17 -0400)
commitd37d8ac17d38d389375060416ceedd5b19d5255c
treeebc4defe9fa6cef650f2c231a3cba5405928cede
parent995dca4ce9dddf48597bd3e0427447acd4509f1d
net: sched: use no more than one page in struct fw_head

In commit b4e9b520ca5d ("[NET_SCHED]: Add mask support to fwmark
classifier") Patrick added an u32 field in fw_head, making it slightly
bigger than one page.

Lets use 256 slots to make fw_hash() more straight forward, and move
@mask to the beginning of the structure as we often use a small number
of skb->mark. @mask and first hash buckets share the same cache line.

This brings back the memory usage to less than 4000 bytes, and permits
John to add a rcu_head at the end of the structure later without any
worry.

Signed-off-by: Eric Dumazet <edumazet@google.com>
Cc: Thomas Graf <tgraf@suug.ch>
Cc: John Fastabend <john.fastabend@gmail.com>
Acked-by: Thomas Graf <tgraf@suug.ch>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/sched/cls_fw.c