netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [net-next PATCH 0/9] The rest of the FIB patches (add key_vector to fib_table)
@ 2015-03-05 22:50 Alexander Duyck
  2015-03-05 22:50 ` [net-next PATCH 1/9] fib_trie: Return pointer to tnode pointer in resize/inflate/halve Alexander Duyck
                   ` (8 more replies)
  0 siblings, 9 replies; 12+ messages in thread
From: Alexander Duyck @ 2015-03-05 22:50 UTC (permalink / raw)
  To: netdev; +Cc: davem

This patch series is the rest of what I had 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.

If needed these patches can be deferred/rebased depending on the needs of
the switchdev FIB offload work.

---

Alexander Duyck (9):
      fib_trie: Return pointer to tnode pointer in resize/inflate/halve
      fib_trie: Rename tnode to key_vector
      fib_trie: replace tnode_get_child functions with get_child macros
      fib_trie: Rename tnode_child_length to child_length
      fib_trie: Add tnode struct as a container for fields not needed in key_vector
      fib_trie: Move rcu from key_vector to tnode, add accessors.
      fib_trie: Pull empty_children and full_children into tnode
      fib_trie: Move parent from key_vector to tnode
      fib_trie: Add key vector to root, return parent key_vector in resize


 net/ipv4/fib_trie.c |  747 ++++++++++++++++++++++++++-------------------------
 1 file changed, 374 insertions(+), 373 deletions(-)

--

^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2015-03-06 16:13 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-03-05 22:50 [net-next PATCH 0/9] The rest of the FIB patches (add key_vector to fib_table) Alexander Duyck
2015-03-05 22:50 ` [net-next PATCH 1/9] fib_trie: Return pointer to tnode pointer in resize/inflate/halve Alexander Duyck
2015-03-05 22:50 ` [net-next PATCH 2/9] fib_trie: Rename tnode to key_vector Alexander Duyck
2015-03-05 22:50 ` [net-next PATCH 3/9] fib_trie: replace tnode_get_child functions with get_child macros Alexander Duyck
2015-03-05 22:50 ` [net-next PATCH 4/9] fib_trie: Rename tnode_child_length to child_length Alexander Duyck
2015-03-05 22:51 ` [net-next PATCH 5/9] fib_trie: Add tnode struct as a container for fields not needed in key_vector Alexander Duyck
2015-03-06 13:17   ` Sergei Shtylyov
2015-03-06 16:13     ` Alexander Duyck
2015-03-05 22:51 ` [net-next PATCH 6/9] fib_trie: Move rcu from key_vector to tnode, add accessors Alexander Duyck
2015-03-05 22:51 ` [net-next PATCH 7/9] fib_trie: Pull empty_children and full_children into tnode Alexander Duyck
2015-03-05 22:51 ` [net-next PATCH 8/9] fib_trie: Move parent from key_vector to tnode Alexander Duyck
2015-03-05 22:51 ` [net-next PATCH 9/9] fib_trie: Add key vector to root, return parent key_vector in resize Alexander Duyck

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).