mbox series

[ovs-dev,v3,00/12] MFEX Infrastructure + Optimizations

Message ID 20210517135708.685517-1-kumar.amber@intel.com
Headers show
Series MFEX Infrastructure + Optimizations | expand

Message

kumar Amber May 17, 2021, 1:56 p.m. UTC
v3 updates:
- rebase on to latest DPIF v12
- add additonal AVX512 traffic profiles for tcp and vlan
- add new command line for study function to add packet count
- add unit tests for fuzzy testing and auto-validation of mfex
- add mfex option hit stats to perf-show command

v2 updates:
- rebase on to latest DPIF v11

This patchset introduces miniflow extract Infrastructure changes
which allows user to choose different type of ISA based optimized
miniflow extract variants which can be user choosen or set based on 
packets studies automatically by OVS using different commands.

The Infrastructure also provides a way to check the correctness of
different ISA optimized miniflow extract variants against the scalar
version.

This Patchset depends on the DPIF patchsets :
http://patchwork.ozlabs.org/project/openvswitch/list/?series=244199

Harry van Haaren (5):
  dpif/stats: add miniflow extract opt hits counter
  dpdk: add additional CPU ISA detection strings
  dpif-netdev/mfex: Add AVX512 based optimized miniflow extract
  dpif-netdev/mfex: add more AVX512 traffic profiles
  dpif/dpcls: limit count subtable search info logs

Kumar Amber (7):
  dpif-netdev: Add command line and function pointer for miniflow
    extract
  dpif-netdev: Add auto validation function for miniflow extract
  dpif-netdev: Add study function to select the best mfex function
  docs/dpdk/bridge: add miniflow extract section.
  dpif-netdev: Add configure to enable autovalidator at build time.
  dpif-netdev: Add additional packet count parameter for study function
  test/sytem-dpdk: Add unit test for mfex autovalidator

 Documentation/topics/dpdk/bridge.rst   | 116 +++++
 NEWS                                   |  15 +
 acinclude.m4                           |  16 +
 configure.ac                           |   1 +
 lib/automake.mk                        |   4 +
 lib/dpdk.c                             |   2 +
 lib/dpif-netdev-avx512.c               |  40 +-
 lib/dpif-netdev-extract-avx512.c       | 571 +++++++++++++++++++++++++
 lib/dpif-netdev-extract-study.c        | 132 ++++++
 lib/dpif-netdev-lookup-avx512-gather.c |   2 +-
 lib/dpif-netdev-perf.c                 |   3 +
 lib/dpif-netdev-perf.h                 |   1 +
 lib/dpif-netdev-private-extract.c      | 302 +++++++++++++
 lib/dpif-netdev-private-extract.h      | 162 +++++++
 lib/dpif-netdev-private-thread.h       |   4 +
 lib/dpif-netdev.c                      | 165 ++++++-
 tests/automake.mk                      |   5 +
 tests/pcap/fuzzy.py                    |  16 +
 tests/pcap/mfex_test                   | Bin 0 -> 416 bytes
 tests/pmd.at                           |   6 +-
 tests/system-dpdk.at                   |  46 ++
 21 files changed, 1588 insertions(+), 21 deletions(-)
 create mode 100644 lib/dpif-netdev-extract-avx512.c
 create mode 100644 lib/dpif-netdev-extract-study.c
 create mode 100644 lib/dpif-netdev-private-extract.c
 create mode 100644 lib/dpif-netdev-private-extract.h
 create mode 100755 tests/pcap/fuzzy.py
 create mode 100644 tests/pcap/mfex_test