DPDK patches and discussions
 help / color / mirror / Atom feed
From: "Medvedkin, Vladimir" <vladimir.medvedkin@intel.com>
To: "Warrington, Jeffrey" <jwarrington@verisign.com>,
	"david.marchand@redhat.com" <david.marchand@redhat.com>
Cc: "dev@dpdk.org" <dev@dpdk.org>,
	"Charbon, Julien" <jcharbon@verisign.com>,
	 "bruce.richardson@intel.com" <bruce.richardson@intel.com>
Subject: Re: [PATCH v2] lpm: improve performance with copious IPv4 peering routes
Date: Fri, 10 Nov 2023 17:27:25 +0000	[thread overview]
Message-ID: <813ed6bb-4777-4e6d-9f50-267353b2d39a@intel.com> (raw)
In-Reply-To: <7AFD1255-7038-44EB-87A0-B456A79B5291@verisign.com>

Hi Jeffrey,

Have you tried FIB library? This problem has been solved there for a 
long time, and it also has a number of other improvements.

Thanks!

On 10/11/2023 14:08, Warrington, Jeffrey wrote:
> On 11/10/23, 2:42 AM, "David Marchand" <david.marchand@redhat.com <mailto:david.marchand@redhat.com>> wrote:
>
>> On Fri, Nov 10, 2023 at 12:11 AM Warrington, Jeffrey
>> <jwarrington@verisign.com <mailto:jwarrington@verisign.com>> wrote:
>>> Minimize the performance impact of large numbers of BGP peering
>>> routes by updating LPM's IPv4 code to use a hash like the IPv6 code.
>>>
>>> Co-authored-by: Julien Charbon <jcharbon@verisign.com <mailto:jcharbon@verisign.com>>
>>> Signed-off-by: Julien Charbon <jcharbon@verisign.com <mailto:jcharbon@verisign.com>>
>>> Signed-off-by: Jeff Warrington <jwarrington@verisign.com <mailto:jwarrington@verisign.com>>
>>> Co-authored-by: Nicolas Witkowski <nwitkowski@verisign.com <mailto:nwitkowski@verisign.com>>
>>> Signed-off-by: Nicolas Witkowski <nwitkowski@verisign.com <mailto:nwitkowski@verisign.com>>
>>> Co-authored-by: Rohit Gupta <rogupta@verisign.com <mailto:rogupta@verisign.com>>
>>> Signed-off-by: Rohit Gupta <rogupta@verisign.com <mailto:rogupta@verisign.com>>
>> Thanks for the patch.
> Thanks for the suggestions and feedback.
>
>> Cc: lpm maintainers.
>> Don't forget to Cc: maintainers when sending patches.
>> You can simply pass --cc-cmd devtools/get-maintainer.sh to git send-email.
> Apologies, that was clearly stated in section 8.12, Contributor's Guidelines, and I still forgot.
>
>> Can you provide performance numbers?
> Yes, I have lpm_perf_autotest before and after:
>
>                    Binaries      Add     Delete
> 23.11-rc1/build-gcc-shared:    145226    90583.5
> 23.11-rc1/build-gcc-static:    259492    90954.4
> 23.11-rc1/build-mini:          145222    90375.7
> 23.11-rc1/build-x86-generic:   259488    90406.7
> proposed/build-gcc-shared:        748    1391
> proposed/build-gcc-static:        605    1240.69
> proposed/build-mini:              621    1196.15
> proposed/build-x86-generic:       607    1249.39
>
>> After this patch, LPM and LPM6 implementations become close.
>> Did you consider refactoring so that LPM and LPM6 can share more code?
> No, but I should have.  The previous goal was to minimize our change,
> and now we should pivot to simplifying the maintenance.
>
>>> ---
>>> lib/lpm/rte_lpm.c | 306 ++++++++++++++++++++++------------------------
>>> lib/lpm/rte_lpm.h | 6 +
>
>> Seeing how no other .c is touched and no exposed symbol use it,
>> exposing the rte_lpm_rule_key structure in the public API is unneeded.
> Good point, that's a quick change.
>
>>> 2 files changed, 149 insertions(+), 163 deletions(-)
> I'll send an updated patch as soon as I get a chance,
> Jeffrey
>
-- 
Regards,
Vladimir


  reply	other threads:[~2023-11-10 17:27 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-11-10 14:08 Warrington, Jeffrey
2023-11-10 17:27 ` Medvedkin, Vladimir [this message]
  -- strict thread matches above, loose matches on Subject: below --
2023-11-09 23:11 Warrington, Jeffrey
2023-11-10  7:42 ` David Marchand

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=813ed6bb-4777-4e6d-9f50-267353b2d39a@intel.com \
    --to=vladimir.medvedkin@intel.com \
    --cc=bruce.richardson@intel.com \
    --cc=david.marchand@redhat.com \
    --cc=dev@dpdk.org \
    --cc=jcharbon@verisign.com \
    --cc=jwarrington@verisign.com \
    /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;
as well as URLs for NNTP newsgroup(s).