[dpdk-dev] [PATCH v5 00/11] framework for advanced iAVF PMD

Zhang, Qi Z qi.z.zhang at intel.com
Thu Apr 16 14:21:13 CEST 2020



> -----Original Message-----
> From: Rong, Leyi <leyi.rong at intel.com>
> Sent: Thursday, April 16, 2020 4:10 PM
> To: Wu, Jingjing <jingjing.wu at intel.com>; Zhang, Qi Z
> <qi.z.zhang at intel.com>; Xing, Beilei <beilei.xing at intel.com>; Ye, Xiaolong
> <xiaolong.ye at intel.com>
> Cc: dev at dpdk.org; Rong, Leyi <leyi.rong at intel.com>
> Subject: [PATCH v5 00/11] framework for advanced iAVF PMD
> 
> This patchset enable framework for advanced iAVF, includes flexible
> descriptor support, FDIR mark id and RSS hash support.
> 
> ---
> v5:
> - Set rxdid = 0 in iavf_configure_queues() when it's supported and
>   RTE_LIBRTE_IAVF_16BYTE_RX_DESC is y. So the error can be captured
>   explicitly as kernel PF does not support it yet.
> - Fix some build errors when RTE_LIBRTE_IAVF_16BYTE_RX_DESC is y.
> 
> v4:
> - Avoid initial declaration in 'for' loop to backward-compatible
>   with older gcc versions.
> 
> v3:
> - Remove patch to query DDP package info as it's specific to DCF.
> - Specify fdir_ref_cnt as per VF value for enable/disable FDIR ID parse.
> - Move fdir_enabled flag to per Queue value for cache benefit when
>   access in vector routines.
> - Store extracted flow_id value to mbuf without judgement to avoid
>   branch speculation fail, which is benefit to performance.
> 
> v2:
> - Revert macro RTE_LIBRTE_IAVF_16BYTE_RX_DESC deletion as
>   it's defined in AVF spec.
> - Typo RTE_LIBRTE_ICE_16BYTE_RX_DESC fix in iavf_rxtx.c.
> - Move flex desc definitions into iavf_rxtx.h.
> - Up to date to match with the latest version of virtchnl.h.
> - Extract a new internal func iavf_update_rx_tail to call.
> - Remove
>   iavf_dev_rxq_count_flex_rxd()/iavf_dev_rx_desc_status_flex_rxd(),
>   as the accompanying legacy ones can deal with the flex desc cases.
> - Move rxq->rxdid assignment from iavf_configure_queues()
>   to iavf_dev_rx_queue_setup().
> - Unfold _mm_extract_epi32(fdir_id0_3, i) to fix build error
>   when using GCC compile option -O0.
> 
> Leyi Rong (11):
>   net/iavf: flexible Rx descriptor definitions
>   net/iavf: return error if opcode is mismatched
>   net/iavf: flexible Rx descriptor support in normal path
>   net/iavf: flexible Rx descriptor support in AVX path
>   net/iavf: flexible Rx descriptor support in SSE path
>   net/iavf: add flow director enabled switch value
>   net/iavf: support flow mark in normal data path
>   net/iavf: support flow mark in AVX path
>   net/iavf: support flow mark in SSE path
>   net/iavf: add RSS hash parsing in AVX path
>   net/iavf: add RSS hash parsing in SSE path
> 
>  drivers/net/iavf/iavf.h               |   6 +
>  drivers/net/iavf/iavf_ethdev.c        |   8 +
>  drivers/net/iavf/iavf_rxtx.c          | 546 ++++++++++++++++++--
>  drivers/net/iavf/iavf_rxtx.h          | 250 +++++++++
>  drivers/net/iavf/iavf_rxtx_vec_avx2.c | 702
> +++++++++++++++++++++++++-  drivers/net/iavf/iavf_rxtx_vec_sse.c  |
> 520 +++++++++++++++++++
>  drivers/net/iavf/iavf_vchnl.c         |  59 ++-
>  7 files changed, 2042 insertions(+), 49 deletions(-)
> 
> --
> 2.17.1

Reviewed-by: Qi Zhang <qi.z.zhang at intel.com>




More information about the dev mailing list