Messages in this thread | | | Date | Tue, 23 Jun 2020 15:11:45 -0700 (PDT) | Subject | Re: [PATCH v2 net-next 2/2] ipv6: fib6: avoid indirect calls from fib6_rule_lookup | From | David Miller <> |
| |
From: Brian Vazquez <brianvv@google.com> Date: Tue, 23 Jun 2020 09:42:32 -0700
> It was reported that a considerable amount of cycles were spent on the > expensive indirect calls on fib6_rule_lookup. This patch introduces an > inline helper called pol_route_func that uses the indirect_call_wrappers > to avoid the indirect calls. > > This patch saves around 50ns per call. > > Performance was measured on the receiver by checking the amount of > syncookies that server was able to generate under a synflood load. > > Traffic was generated using trafgen[1] which was pushing around 1Mpps on > a single queue. Receiver was using only one rx queue which help to > create a bottle neck and make the experiment rx-bounded. > > These are the syncookies generated over 10s from the different runs: > > Whithout the patch: ... > With the patch: ... > Without the patch the average is 354263 pkt/s or 2822 ns/pkt and with > the patch the average is 360738 pkt/s or 2772 ns/pkt which gives an > estimate of 50 ns per packet. > > [1] http://netsniff-ng.org/ > > Changelog since v1: > - Change ordering in the ICW (Paolo Abeni) > > Cc: Luigi Rizzo <lrizzo@google.com> > Cc: Paolo Abeni <pabeni@redhat.com> > Reported-by: Eric Dumazet <edumazet@google.com> > Signed-off-by: Brian Vazquez <brianvv@google.com>
Applied.
| |