bridge: vlan: adjust rhashtable initial size and hash locks size
authorNikolay Aleksandrov <nikolay@cumulusnetworks.com>
Wed, 30 Sep 2015 18:16:51 +0000 (20:16 +0200)
committerDavid S. Miller <davem@davemloft.net>
Fri, 2 Oct 2015 01:24:03 +0000 (18:24 -0700)
As Stephen pointed out the default initial size is more than we need, so
let's start small (4 elements, thus nelem_hint = 3). Also limit the hash
locks to the number of CPUs as we don't need any write-side scaling and
this looks like the minimum.

Signed-off-by: Nikolay Aleksandrov <nikolay@cumulusnetworks.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/bridge/br_vlan.c

index e227164bc3e174a07f7badbb8c94e64d96a2b993..283d012c3d89085c62f0e43d80a67d150f971930 100644 (file)
@@ -19,6 +19,8 @@ static const struct rhashtable_params br_vlan_rht_params = {
        .head_offset = offsetof(struct net_bridge_vlan, vnode),
        .key_offset = offsetof(struct net_bridge_vlan, vid),
        .key_len = sizeof(u16),
+       .nelem_hint = 3,
+       .locks_mul = 1,
        .max_size = VLAN_N_VID,
        .obj_cmpfn = br_vlan_cmp,
        .automatic_shrinking = true,