lkml.org 
[lkml]   [2020]   [Jun]   [23]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
SubjectRe: [PATCH v2 net-next 2/2] ipv6: fib6: avoid indirect calls from fib6_rule_lookup
From
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.

\
 
 \ /
  Last update: 2020-06-24 00:13    [W:0.129 / U:1.044 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site