On 11/10/23, 2:42 AM, "David Marchand" <david.march...@redhat.com 
<mailto:david.march...@redhat.com>> wrote:

> On Fri, Nov 10, 2023 at 12:11 AM Warrington, Jeffrey
> <jwarring...@verisign.com <mailto:jwarring...@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 <jchar...@verisign.com 
> > <mailto:jchar...@verisign.com>>
> > Signed-off-by: Julien Charbon <jchar...@verisign.com 
> > <mailto:jchar...@verisign.com>>
> > Signed-off-by: Jeff Warrington <jwarring...@verisign.com 
> > <mailto:jwarring...@verisign.com>>
> > Co-authored-by: Nicolas Witkowski <nwitkow...@verisign.com 
> > <mailto:nwitkow...@verisign.com>>
> > Signed-off-by: Nicolas Witkowski <nwitkow...@verisign.com 
> > <mailto:nwitkow...@verisign.com>>
> > Co-authored-by: Rohit Gupta <rogu...@verisign.com 
> > <mailto:rogu...@verisign.com>>
> > Signed-off-by: Rohit Gupta <rogu...@verisign.com 
> > <mailto:rogu...@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

Reply via email to