ping
W dniu 12.09.2016 o 12:59, Kamil Rytarowski pisze: > ping > > > W dniu 26.08.2016 o 18:53, Kamil Rytarowski pisze: >> 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 >> >