[dpdk-dev] [PATCH v2 00/13] Improve Solarflare PMD performance
Ferruh Yigit
ferruh.yigit at intel.com
Mon Mar 20 16:37:30 CET 2017
On 3/20/2017 10:15 AM, Andrew Rybchenko wrote:
> Implement EF10 (SFN7xxx and SFN8xxx) native datapaths which may be
> chosen per device using PCI whitelist device arguments.
>
> libefx-based datapath implementation is bound to API and structure
> imposed by the libefx. It has many indirect function calls to
> provide HW abstraction (bad for CPU pipeline) and uses many data
> structures: driver Rx/Tx queue, driver event queue, libefx Rx/Tx
> queue, libefx event queue, libefx NIC (bad for cache).
>
> Native datapath implementation is fully separated from control
> path to be able to use alternative control path if required
> (e.g. kernel-aware).
>
> Native datapaths show better performance than libefx-based.
>
> v2:
> - fix spelling, reword commit messages as requested
> - exclude packed stream support since it shows worse performance yet
> because of indirect mbufs usage
> - use uint16_t for port_id to avoid changes when corresponding
> mbuf patches are applied
> - add header with functions shared by EF10 Rx and Tx
> - clear event queue entries by cache-lines
> - remove unnecessary checks in refill code
> - add missing BSD LICENSE line to new files
> - avoid usage of function pointers in state structures, make EF10
> native datapath multi-process support friendly to avoid code
> shuffling in the future
> - remove unnecessary memory barriers, add corresponding comments
> - do not use libefx macros for Rx/Tx queue limit, define own which
> take event queue clear by cache-line into account
>
> Andrew Rybchenko (13):
> net/sfc: use different callbacks for event queues
> net/sfc: emphasis that RSS hash flag is an Rx queue flag
> net/sfc: do not use Rx queue control state on datapath
> net/sfc: factor out libefx-based Rx datapath
> net/sfc: make Rx scatter a datapath-dependent feature
> net/sfc: remove few conditions in Rx queue refill
> net/sfc: implement EF10 native Rx datapath
> net/sfc: factor out libefx-based Tx datapath
> net/sfc: make VLAN insertion a datapath-dependent feature
> net/sfc: make TSO a datapath-dependent feature
> net/sfc: implement EF10 native Tx datapath
> net/sfc: make multi-segment support a Tx datapath feature
> net/sfc: implement simple EF10 native Tx datapath
Series applied to dpdk-next-net/master, thanks.
More information about the dev
mailing list