1. 08 Mar, 2015 13 commits
  2. 07 Mar, 2015 24 commits
  3. 06 Mar, 2015 3 commits
    • David S. Miller's avatar
      Merge branch 'fib_trie-next' · 34de26d3
      David S. Miller authored
      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: default avatarDavid S. Miller <davem@davemloft.net>
      34de26d3
    • Alexander Duyck's avatar
      fib_trie: Add key vector to root, return parent key_vector in resize · 88bae714
      Alexander Duyck authored
      This change makes it so that the root of the trie contains a key_vector, by
      doing this we make room to essentially collapse the entire trie by at least
      one cache line as we can store the information about the tnode or leaf that
      is pointed to in the root.
      Signed-off-by: default avatarAlexander Duyck <alexander.h.duyck@redhat.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      88bae714
    • Alexander Duyck's avatar
      fib_trie: Move parent from key_vector to tnode · f23e59fb
      Alexander Duyck authored
      This change pulls the parent pointer from the key_vector and places it in
      the tnode structure.
      Signed-off-by: default avatarAlexander Duyck <alexander.h.duyck@redhat.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      f23e59fb