All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 00/13] Add support for secondary queue set in nicvf thunderx driver
@ 2016-08-26 16:53 Kamil Rytarowski
  2016-08-26 16:53 ` [PATCH 01/13] net/thunderx: cleanup the driver before adding new features Kamil Rytarowski
                   ` (14 more replies)
  0 siblings, 15 replies; 48+ messages in thread
From: Kamil Rytarowski @ 2016-08-26 16:53 UTC (permalink / raw)
  To: dev
  Cc: maciej.czekaj, zyta.szpak, slawomir.rosek, rad, jerin.jacob,
	Kamil Rytarowski

This series of patches adds support for secondary queue set in nicvf thunderx
driver

There are two types of VFs:
 - Primary VF
 - Secondary VF

Each port consist of a primary VF and n secondary VF(s). Each VF provides 8
Tx/Rx queues to a port. In case port is configured to use more than 8 queues,
then it requires one (or more) secondary VF. Each secondary VF adds additional
8 queues to the queue set.

During PMD driver initialization, the primary VF's are enumerated by checking the
specific flag (see READY message). They are at the beginning of  VF list (the remain
ones are secondary VF's).

The primary VFs are used as master queue sets. Secondary VFs provide
additional queue sets for primary ones. If a port is configured for more then
8 queues then it will request for additional queues from secondary VFs.

Secondary VFs cannot be shared between primary VFs.

Primary VFs are present on the tail of the 'Network devices using kernel
driver' list, secondary VFs are on the remaining tail of the list.

The VNIC driver in the multiqueue setup works differently than other drivers
like `ixgbe`. We need to bind separately each specific queue set device with
the ``tools/dpdk-devbind.py`` utility.

Depending on the hardware used, the kernel driver sets a threshold ``vf_id``.
VFs that try to attach with an id below or equal to this boundary are
considered primary VFs. VFs that try to attach with an id above this boundary
are considered secondary VFs.

This patchset also contains other cleanups and improvements like fixing
erroneous checksum calculation and preparing the thunderx driver for the multi
queue set feature support.


These changes base on the following pending patches:

[dpdk-dev,1/3] net/thunderx: remove generic passx references from the driver
http://dpdk.org/dev/patchwork/patch/14963/

[dpdk-dev,2/3] net/thunderx: introduce cqe_rx2 HW capability flag
http://dpdk.org/dev/patchwork/patch/14964/

[dpdk-dev,3/3] net/thunderx: add 81xx SoC support
http://dpdk.org/dev/patchwork/patch/14965/

Kamil Rytarowski (13):
  net/thunderx: cleanup the driver before adding new features
  net/thunderx: correct transmit checksum handling
  net/thunderx/base: add family of functions to store qsets
  net/thunderx/base: add secondary queue set support
  net/thunderx: add family of functions to store DPDK qsets
  net/thunderx: add secondary queue set in interrupt functions
  net/thunderx: fix multiprocess support in stats
  net/thunderx: add helper utils for secondary qset support
  net/thunderx: add secondary qset support in dev stop/close
  net/thunderx: add secondary qset support in device start
  net/thunderx: add secondary qset support in device configure
  net/thunderx: add final bits for secondary queue support
  net/thunderx: document secondary queue set support

 doc/guides/nics/thunderx.rst              | 114 ++++-
 drivers/net/thunderx/Makefile             |   2 +
 drivers/net/thunderx/base/nicvf_bsvf.c    |  72 +++
 drivers/net/thunderx/base/nicvf_bsvf.h    |  76 +++
 drivers/net/thunderx/base/nicvf_hw.c      |  10 +-
 drivers/net/thunderx/base/nicvf_hw.h      |   6 +-
 drivers/net/thunderx/base/nicvf_hw_defs.h |   1 +
 drivers/net/thunderx/base/nicvf_mbox.c    |  34 +-
 drivers/net/thunderx/base/nicvf_mbox.h    |  21 +-
 drivers/net/thunderx/nicvf_ethdev.c       | 753 +++++++++++++++++++++---------
 drivers/net/thunderx/nicvf_ethdev.h       |  39 ++
 drivers/net/thunderx/nicvf_rxtx.c         |  14 +-
 drivers/net/thunderx/nicvf_struct.h       |   6 +-
 drivers/net/thunderx/nicvf_svf.c          |  78 ++++
 drivers/net/thunderx/nicvf_svf.h          |  66 +++
 15 files changed, 1046 insertions(+), 246 deletions(-)
 create mode 100644 drivers/net/thunderx/base/nicvf_bsvf.c
 create mode 100644 drivers/net/thunderx/base/nicvf_bsvf.h
 create mode 100644 drivers/net/thunderx/nicvf_svf.c
 create mode 100644 drivers/net/thunderx/nicvf_svf.h

-- 
1.9.1

^ permalink raw reply	[flat|nested] 48+ messages in thread

end of thread, other threads:[~2016-10-12 15:59 UTC | newest]

Thread overview: 48+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-08-26 16:53 [PATCH 00/13] Add support for secondary queue set in nicvf thunderx driver Kamil Rytarowski
2016-08-26 16:53 ` [PATCH 01/13] net/thunderx: cleanup the driver before adding new features Kamil Rytarowski
2016-09-20 13:48   ` Ferruh Yigit
2016-09-29 14:21     ` Maciej Czekaj
2016-08-26 16:53 ` [PATCH 02/13] net/thunderx: correct transmit checksum handling Kamil Rytarowski
2016-08-26 16:53 ` [PATCH 03/13] net/thunderx/base: add family of functions to store qsets Kamil Rytarowski
2016-08-26 16:53 ` [PATCH 04/13] net/thunderx/base: add secondary queue set support Kamil Rytarowski
2016-09-20 13:48   ` Ferruh Yigit
2016-09-29 14:22     ` Maciej Czekaj
2016-08-26 16:54 ` [PATCH 05/13] net/thunderx: add family of functions to store DPDK qsets Kamil Rytarowski
2016-08-26 16:54 ` [PATCH 06/13] net/thunderx: add secondary queue set in interrupt functions Kamil Rytarowski
2016-08-26 16:54 ` [PATCH 07/13] net/thunderx: fix multiprocess support in stats Kamil Rytarowski
2016-09-20 13:48   ` Ferruh Yigit
2016-09-29 14:35     ` Maciej Czekaj
2016-08-26 16:54 ` [PATCH 08/13] net/thunderx: add helper utils for secondary qset support Kamil Rytarowski
2016-08-26 16:54 ` [PATCH 09/13] net/thunderx: add secondary qset support in dev stop/close Kamil Rytarowski
2016-08-26 16:54 ` [PATCH 10/13] net/thunderx: add secondary qset support in device start Kamil Rytarowski
2016-08-26 16:54 ` [PATCH 11/13] net/thunderx: add secondary qset support in device configure Kamil Rytarowski
2016-08-26 16:54 ` [PATCH 12/13] net/thunderx: add final bits for secondary queue support Kamil Rytarowski
2016-09-20 13:49   ` Ferruh Yigit
2016-09-29 14:37     ` Maciej Czekaj
2016-08-26 16:54 ` [PATCH 13/13] net/thunderx: document secondary queue set support Kamil Rytarowski
2016-09-26 20:17   ` Mcnamara, John
2016-09-29 14:38     ` Maciej Czekaj
2016-09-12 10:59 ` [PATCH 00/13] Add support for secondary queue set in nicvf thunderx driver Kamil Rytarowski
2016-09-19 12:23   ` Kamil Rytarowski
2016-09-30 12:05 ` [PATCH v2 00/15] " Kamil Rytarowski
2016-09-30 12:05   ` [PATCH v2 01/15] net/thunderx: cleanup the driver before adding new features Kamil Rytarowski
2016-09-30 12:05   ` [PATCH v2 02/15] net/thunderx: correct transmit checksum handling Kamil Rytarowski
2016-09-30 12:05   ` [PATCH v2 03/15] net/thunderx/base: add family of functions to store qsets Kamil Rytarowski
2016-09-30 12:05   ` [PATCH v2 04/15] net/thunderx/base: add secondary queue set support Kamil Rytarowski
2016-09-30 12:05   ` [PATCH v2 05/15] net/thunderx: add family of functions to store DPDK qsets Kamil Rytarowski
2016-09-30 12:05   ` [PATCH v2 06/15] net/thunderx: add secondary queue set in interrupt functions Kamil Rytarowski
2016-09-30 12:05   ` [PATCH v2 07/15] net/thunderx: remove problematic private_data->eth_dev link Kamil Rytarowski
2016-09-30 12:05   ` [PATCH v2 08/15] net/thunderx: add helper utils for secondary qset support Kamil Rytarowski
2016-09-30 12:05   ` [PATCH v2 09/15] net/thunderx: add secondary qset support in dev stop/close Kamil Rytarowski
2016-09-30 12:05   ` [PATCH v2 10/15] net/thunderx: add secondary qset support in device start Kamil Rytarowski
2016-09-30 12:05   ` [PATCH v2 11/15] net/thunderx: add secondary qset support in device configure Kamil Rytarowski
2016-09-30 12:05   ` [PATCH v2 12/15] net/thunderx: add final bits for secondary queue support Kamil Rytarowski
2016-09-30 12:05   ` [PATCH v2 13/15] net/thunderx: document secondary queue set support Kamil Rytarowski
2016-09-30 15:12     ` Mcnamara, John
2016-09-30 12:05   ` [PATCH v2 14/15] ethdev: Support VFs on the different PCI domains Kamil Rytarowski
2016-10-10 10:19     ` Ferruh Yigit
2016-10-10 13:01       ` Kamil Rytarowski
2016-10-10 13:27         ` Ferruh Yigit
2016-10-11 13:52           ` Kamil Rytarowski
2016-09-30 12:05   ` [PATCH v2 15/15] net/thunderx: Bump driver version to 2.0 Kamil Rytarowski
2016-10-12 15:59   ` [PATCH v2 00/15] Add support for secondary queue set in nicvf thunderx driver Bruce Richardson

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.