[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