[dpdk-dev] [PATCH 09/22] net/bnxt: use dedicated cpr for async events

Ferruh Yigit ferruh.yigit at intel.com
Mon Jul 22 16:57:18 CEST 2019


On 7/18/2019 4:36 AM, Ajit Khaparde wrote:
> From: Lance Richardson <lance.richardson at broadcom.com>
> 
> This commit enables the creation of a dedicated completion
> ring for asynchronous event handling instead of handling these
> events on a receive completion ring.
> 
> For the stingray platform and other platforms needing tighter
> control of resource utilization, we retain the ability to
> process async events on a receive completion ring. This behavior
> is controlled by a compile-time configuration variable.
> 
> For Thor-based adapters, we use a dedicated NQ (notification
> queue) ring for async events (async events can't currently
> be received on a completion ring due to a firmware limitation).
> 
> Rename "def_cp_ring" to "async_cp_ring" to better reflect its
> purpose (async event notifications) and to avoid confusion with
> VNIC default receive completion rings.
> 
> Signed-off-by: Lance Richardson <lance.richardson at broadcom.com>
> Reviewed-by: Somnath Kotur <somnath.kotur at broadcom.com>
> Reviewed-by: Ajit Khaparde <ajit.khaparde at broadcom.com>
> ---
>  config/common_base                           |   1 +
>  config/defconfig_arm64-stingray-linuxapp-gcc |   3 +
>  drivers/net/bnxt/bnxt.h                      |  10 +-
>  drivers/net/bnxt/bnxt_ethdev.c               |  13 +-
>  drivers/net/bnxt/bnxt_hwrm.c                 |  16 +-
>  drivers/net/bnxt/bnxt_hwrm.h                 |   2 +
>  drivers/net/bnxt/bnxt_irq.c                  |  47 +++---
>  drivers/net/bnxt/bnxt_ring.c                 | 145 ++++++++++++++++---
>  drivers/net/bnxt/bnxt_ring.h                 |   3 +
>  drivers/net/bnxt/bnxt_rxr.c                  |   2 +-
>  drivers/net/bnxt/bnxt_rxtx_vec_sse.c         |   2 +-
>  11 files changed, 195 insertions(+), 49 deletions(-)
> 
> diff --git a/config/common_base b/config/common_base
> index 8ef75c203..487a9b811 100644
> --- a/config/common_base
> +++ b/config/common_base
> @@ -212,6 +212,7 @@ CONFIG_RTE_LIBRTE_BNX2X_DEBUG_PERIODIC=n
>  # Compile burst-oriented Broadcom BNXT PMD driver
>  #
>  CONFIG_RTE_LIBRTE_BNXT_PMD=y
> +CONFIG_RTE_LIBRTE_BNXT_SHARED_ASYNC_RING=n

Normally we don't want to introduce new config time options as much as possible.

This is what happens when patches slip in the last minute, please Ajit try to
send patches before proposal next time.

And back to the config option, is it something have to be a compile time flag
(if so why?), can it be replaced by a devarg?



More information about the dev mailing list