]> git.baikalelectronics.ru Git - kernel.git/commit
Merge branch 'fib_trie-next'
authorDavid S. Miller <davem@davemloft.net>
Fri, 6 Mar 2015 20:49:35 +0000 (15:49 -0500)
committerDavid S. Miller <davem@davemloft.net>
Fri, 6 Mar 2015 20:49:35 +0000 (15:49 -0500)
commitfc86258fed89fbcc8b22ec395b94211834c19116
tree0f4c58af217dd6e3603b68e744671b74f73c8a40
parent2d6599edd28273fcc5d753b3a03514476da95e12
parent8ddf871bb454f10e356b27e1b92e6c156aa67628
Merge branch 'fib_trie-next'

Alexander Duyck says:

====================
The rest of the FIB patches (add key_vector to fib_table)

This patch series is the rest of what I had originally planned for this kernel
release.  It adds a structure called key_vector which is embedded within
every tnode, leaf, and the trie root itself.  By doing this we can navigate
from any point within the trie to any other point fairly quickly and
avoiding NULL pointer checks in the case of a backtrace.  As a result we
can pipeline things a bit further since we don't have to worry about
dereferencing NULL in a backtrace.  This can amount to significant savings
on a long backtrace.

I decided to drop the up-level code as that conflicts with combining the
main and local tries.  I have one patch as an RFC that currently combines
the tries however it still needs some work as we have to split the local
and main tries in the event of custom rules being defined.  As such we are
probably going to be doing some more hacking on fib_table_flush_external as
that will also need to flush the local entries from the main trie and place
them back in the local trie.

v2: Rebased on the switchdev FIB offload work
====================

Signed-off-by: David S. Miller <davem@davemloft.net>