All of lore.kernel.org
 help / color / mirror / Atom feed
From: Alexander Duyck <alexander.duyck@gmail.com>
To: Alexander Duyck <alexander.h.duyck@redhat.com>, netdev@vger.kernel.org
Cc: stephen@networkplumber.org, jiri@resnulli.us, sfeldma@gmail.com,
	davem@davemloft.net, sd@queasysnail.net
Subject: Re: [net-next PATCH] ipv4: FIB Local/MAIN table collapse
Date: Wed, 11 Mar 2015 07:58:49 -0700	[thread overview]
Message-ID: <55005829.5050406@gmail.com> (raw)
In-Reply-To: <20150306213830.1139.16932.stgit@ahduyck-vm-fedora20>

On 03/06/2015 01:47 PM, Alexander Duyck wrote:
> This patch is meant to collapse local and main into one by converting
> tb_data from an array to a pointer.  Doing this allows us to point the
> local table into the main while maintaining the same variables in the
> table.
>
> As such the tb_data was converted from an array to a pointer, and a new
> array called data is added in order to still provide an object for tb_data
> to point to.
>
> In order to track the origin of the fib aliases a tb_id value was added in
> a hole that existed on 64b systems.  Using this we can also reverse the
> merge in the event that custom FIB rules are enabled.
>
> With this patch I am seeing an improvement of 20ns to 30ns for routing
> lookups as long as custom rules are not enabled, with custom rules enabled
> we fall back to split tables and the original behavior.
>
> Signed-off-by: Alexander Duyck <alexander.h.duyck@redhat.com>
> ---
>
> Changes since the RFC:
>   Added tb_id value so I could split main and local for custom rules
>   Added functionality to split tables if custom rules were enabled
>   Added table replacement and unmerge functions
>
> I have done some testing on this to verify performance gains and that I can
> split the tables correctly when I enable custom rules, but this patch is
> what I would consider to be high risk since I am certain there are things I
> have not considered.
>
> If this gets pulled into someone's switchdev tree instead of into net-next I
> would be perfectly fine with that as I am sure this can use some additional
> testing.

Has anyone out there had a chance to review this patch?  I had suggested
holding off on applying it to net-next for additional testing, but I
haven't found anything, and the only related issue is the one issue
Sabrina reported for the RTNL locking which was already in net-next anyway.

If nobody has any objections then maybe we should apply this after
Sabrina's patch and see what other bugs if any can be found when this
goes into linux-next?  I figure that since the performance gains from
this patch are fairly significant the risk is likely worth the reward.

- Alex

  reply	other threads:[~2015-03-11 14:58 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-03-06 21:47 [net-next PATCH] ipv4: FIB Local/MAIN table collapse Alexander Duyck
2015-03-11 14:58 ` Alexander Duyck [this message]
2015-03-11 16:03   ` Dave Taht
2015-03-11 16:23     ` Alexander Duyck
2015-03-11 17:13       ` Dave Taht
2015-03-11 20:28 ` David Miller
2015-03-12 19:20 ` Madhu Challa
2015-03-12 20:08   ` 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=55005829.5050406@gmail.com \
    --to=alexander.duyck@gmail.com \
    --cc=alexander.h.duyck@redhat.com \
    --cc=davem@davemloft.net \
    --cc=jiri@resnulli.us \
    --cc=netdev@vger.kernel.org \
    --cc=sd@queasysnail.net \
    --cc=sfeldma@gmail.com \
    --cc=stephen@networkplumber.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.