]> git.karo-electronics.de Git - linux-beck.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)
commit34de26d366ea49d99be633ae389e751fd5d592f5
tree0f4c58af217dd6e3603b68e744671b74f73c8a40
parent20488239d236f1615e2be8b0f6dbd30e4310940a
parent88bae7149a5e980dc5a7488fba2fcb41286fd82e
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>