diff options
author | David S. Miller <davem@davemloft.net> | 2015-02-27 16:37:23 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2015-02-27 16:37:23 -0500 |
commit | 7eb603459caf1de4ddf36c18d7ce3ebef28dde8e (patch) | |
tree | ded89f2190deffac52d17be63a99a8920c25da18 /drivers/net/team | |
parent | 7705f730372d65f73599f0b49e3249433bba55e8 (diff) | |
parent | 79e5ad2ceb00673e5f2d278a892adcbf596a6b5a (diff) | |
download | op-kernel-dev-7eb603459caf1de4ddf36c18d7ce3ebef28dde8e.zip op-kernel-dev-7eb603459caf1de4ddf36c18d7ce3ebef28dde8e.tar.gz |
Merge branch 'fib_trie_remove_leaf_info'
Alexander Duyck says:
====================
fib_trie: Remove leaf_info structure
This patch set removes the leaf_info structure from the IPv4 fib_trie. The
general idea is that the leaf_info structure itself only held about 6
actual bits of data, beyond that it was mostly just waste. As such we can
drop the structure, move the 1 byte representing the prefix/suffix length
into the fib_alias and just link it all into one list.
My testing shows that this saves somewhere between 4 to 10ns depending on
the type of test performed. I'm suspecting that this represents 1 to 2 L1
cache misses saved per look-up.
One side effect of this change is that semantic_match_miss will now only
increment once per leaf instead of once per leaf_info miss. However the
stat is already skewed now that we perform a preliminary check on the leaf
as a part of the look-up.
I also have gone through and addressed a number of ordering issues in the
first patch since I had misread the behavior of list_add_tail.
I have since run some additional testing and verified the resulting lists
are in the same order when combining multiple prefix length and tos values
in a single leaf.
====================
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/team')
0 files changed, 0 insertions, 0 deletions