[dpdk-dev] [PATCH 00/23] net/sfc: support equal stride super-buffer Rx mode

Andrew Rybchenko arybchenko at solarflare.com
Thu Apr 19 13:36:43 CEST 2018


Add support for dedicated DPDK firmware variant which has equal stride
super-buffer Rx mode. The Rx mode uses bucket mempool manager which
supports allocation of contiguos block of mbufs.

It allows to achieve higher packet rate on Rx than traditional single
packet Rx mode.

Also the Rx mode supports rte_flow MARK and FLAG actions.

It should be applied on top of [1], [2], [3], [4], [5].

[1] https://dpdk.org/ml/archives/dev/2018-April/098035.html
[2] https://dpdk.org/ml/archives/dev/2018-April/098047.html
[3] https://dpdk.org/ml/archives/dev/2018-April/095872.html
[4] https://dpdk.org/ml/archives/dev/2018-April/097354.html
[5] https://dpdk.org/ml/archives/dev/2018-April/097365.html

There are a number of known checkpatches.sh warnings in base driver due
to coding style difference and in the PMD itself due to postive errno
used inside the driver.

Andrew Rybchenko (18):
  net/sfc/base: update autogenerated MCDI and TLV headers
  net/sfc/base: make RxQ type data an union
  net/sfc/base: detect equal stride super-buffer support
  net/sfc/base: support equal stride super-buffer Rx mode
  net/sfc/base: add equal stride super-buffer prefix layout
  net/sfc: factor out function to push Rx doorbell
  net/sfc: prepare EF10 Rx event parser to be reused
  net/sfc: move EF10 Rx event parser to shared header
  net/sfc: conditionally compile support for tunnel packets
  net/sfc: allow one Rx queue entry carry many packet buffers
  net/sfc: allow to take mbuf pool into account when sizing
  net/sfc: support equal stride super-buffer Rx mode
  net/sfc: support callback to check if mempool is supported
  net/sfc: check mempool when equal stride super-buffer used
  net/sfc: support DPDK firmware variant
  net/sfc: add Rx descriptor wait timeout
  net/sfc: support flow marks in equal stride super-buffer Rx
  doc: advertise equal stride super-buffer Rx mode support in net/sfc

Roman Zhukov (5):
  net/sfc/base: get actions MARK and FLAG support
  net/sfc/base: support MARK and FLAG actions in filters
  net/sfc/base: get max supported value for action MARK
  net/sfc: make processing of flow rule actions more uniform
  net/sfc: support MARK and FLAG actions in flow API

 doc/guides/nics/sfc_efx.rst            |  42 ++-
 doc/guides/rel_notes/release_18_05.rst |   2 +
 drivers/net/sfc/Makefile               |   1 +
 drivers/net/sfc/base/ef10_ev.c         |  30 +-
 drivers/net/sfc/base/ef10_filter.c     |  31 +-
 drivers/net/sfc/base/ef10_impl.h       |  14 +-
 drivers/net/sfc/base/ef10_nic.c        |  27 +-
 drivers/net/sfc/base/ef10_rx.c         |  84 ++++-
 drivers/net/sfc/base/ef10_tlv_layout.h |  22 ++
 drivers/net/sfc/base/efx.h             |  44 ++-
 drivers/net/sfc/base/efx_check.h       |   7 +
 drivers/net/sfc/base/efx_filter.c      |  21 ++
 drivers/net/sfc/base/efx_impl.h        |  25 +-
 drivers/net/sfc/base/efx_regs_ef10.h   |  15 +
 drivers/net/sfc/base/efx_regs_mcdi.h   | 646 +++++++++++++++++++++++++++++++-
 drivers/net/sfc/base/efx_rx.c          |  70 +++-
 drivers/net/sfc/base/siena_nic.c       |   5 +
 drivers/net/sfc/efsys.h                |   2 +
 drivers/net/sfc/meson.build            |   1 +
 drivers/net/sfc/sfc.c                  |  35 ++
 drivers/net/sfc/sfc.h                  |   2 +
 drivers/net/sfc/sfc_dp.h               |   3 +-
 drivers/net/sfc/sfc_dp_rx.h            |  27 +-
 drivers/net/sfc/sfc_ef10.h             |  34 ++
 drivers/net/sfc/sfc_ef10_essb_rx.c     | 666 +++++++++++++++++++++++++++++++++
 drivers/net/sfc/sfc_ef10_rx.c          | 185 +--------
 drivers/net/sfc/sfc_ef10_rx_ev.h       | 169 +++++++++
 drivers/net/sfc/sfc_ethdev.c           |  23 ++
 drivers/net/sfc/sfc_ev.c               |  34 ++
 drivers/net/sfc/sfc_flow.c             | 119 +++++-
 drivers/net/sfc/sfc_kvargs.c           |   1 +
 drivers/net/sfc/sfc_kvargs.h           |  10 +-
 drivers/net/sfc/sfc_rx.c               |  51 ++-
 drivers/net/sfc/sfc_rx.h               |   1 +
 drivers/net/sfc/sfc_tweak.h            |   8 +
 35 files changed, 2204 insertions(+), 253 deletions(-)
 create mode 100644 drivers/net/sfc/sfc_ef10_essb_rx.c
 create mode 100644 drivers/net/sfc/sfc_ef10_rx_ev.h

-- 
2.7.4



More information about the dev mailing list