On Fri, Apr 12, 2019 at 8:07 AM Jesper Dangaard Brouer <brouer@xxxxxxxxxx> wrote: > > This patchset utilize a number of different kernel bulk APIs for optimizing > the performance for the XDP cpumap redirect feature. > > Benchmark details are available here: > https://github.com/xdp-project/xdp-project/blob/master/areas/cpumap/cpumap03-optimizations.org > > Performance measurements can be considered micro benchmarks, as they measure > dropping packets at different stages in the network stack. > Summary based on above: > > Baseline benchmarks > - baseline-redirect: UdpNoPorts: 3,180,074 > - baseline-redirect: iptables-raw drop: 6,193,534 > > Patch1: bpf: cpumap use ptr_ring_consume_batched > - redirect: UdpNoPorts: 3,327,729 > - redirect: iptables-raw drop: 6,321,540 > > Patch2: net: core: introduce build_skb_around > - redirect: UdpNoPorts: 3,221,303 > - redirect: iptables-raw drop: 6,320,066 > > Patch3: bpf: cpumap do bulk allocation of SKBs > - redirect: UdpNoPorts: 3,290,563 > - redirect: iptables-raw drop: 6,650,112 > > Patch4: bpf: cpumap memory prefetchw optimizations for struct page > - redirect: UdpNoPorts: 3,520,250 > - redirect: iptables-raw drop: 7,649,604 > > In this V2 submission I have chosen drop the SKB-list patch using > netif_receive_skb_list() as it was not showing a performance improvement for > these micro benchmarks. Applied. Thanks!