Netdev List
 help / color / mirror / Atom feed
From: Alexander Duyck <alexander.h.duyck@redhat.com>
To: netdev@vger.kernel.org
Cc: davem@davemloft.net
Subject: [net-next PATCH 0/9] The rest of the FIB patches (add key_vector to fib_table)
Date: Thu, 05 Mar 2015 14:50:28 -0800	[thread overview]
Message-ID: <20150305224208.1642.34205.stgit@ahduyck-vm-fedora20> (raw)

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(-)

--

             reply	other threads:[~2015-03-05 22:50 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-03-05 22:50 Alexander Duyck [this message]
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

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20150305224208.1642.34205.stgit@ahduyck-vm-fedora20 \
    --to=alexander.h.duyck@redhat.com \
    --cc=davem@davemloft.net \
    --cc=netdev@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox