diff options
author | Eric Dumazet <eric.dumazet@gmail.com> | 2010-10-14 20:53:04 +0000 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2010-10-17 13:53:15 -0700 |
commit | 9bef83edfba72ba58b42c14fb046da2199574bc0 (patch) | |
tree | ce61ab76bce8de53b76a83ec3cca63a87b7286b7 /net/ipv4/fib_lookup.h | |
parent | 7fc4463309faa087f5e41569a987d43b1d71b982 (diff) |
fib_hash: embed initial hash table in fn_zone
While looking for false sharing problems, I noticed
sizeof(struct fn_zone) was small (28 bytes) and possibly sharing a cache
line with an often written kernel structure.
Most of the time, fn_zone uses its initial hash table of 16 slots.
We can avoid the false sharing problem by embedding this initial hash
table in fn_zone itself, so that sizeof(fn_zone) > L1_CACHE_BYTES
We did a similar optimization in commit a6501e080c (Reduce memory needs
and speedup lookups)
Add a fz_revorder field to speedup fn_hash() a bit.
Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/ipv4/fib_lookup.h')
0 files changed, 0 insertions, 0 deletions