[dpdk-dev] [PATCH] eventdev: configure the Rx event buffer size

Jerin Jacob jerinjacobk at gmail.com
Mon Jul 19 08:43:46 CEST 2021


On Fri, Jul 16, 2021 at 10:33 PM Ganapati Kundapura
<ganapati.kundapura at intel.com> wrote:
>
> As of now Rx event buffer size is static and set to 128.
>
> This patch sets the Rx event buffer size to 192, configurable
> at compile time and also errors out at run time if Rx event
> buffer size is configured more than 16 bits.
>
> Signed-off-by: Ganapati Kundapura <ganapati.kundapura at intel.com>
> ---
>  config/rte_config.h                     |  1 +
>  lib/eventdev/rte_event_eth_rx_adapter.c | 14 +++++++++++++-
>  2 files changed, 14 insertions(+), 1 deletion(-)
>
> diff --git a/config/rte_config.h b/config/rte_config.h
> index 590903c..3d938c8 100644
> --- a/config/rte_config.h
> +++ b/config/rte_config.h
> @@ -77,6 +77,7 @@
>  #define RTE_EVENT_ETH_INTR_RING_SIZE 1024
>  #define RTE_EVENT_CRYPTO_ADAPTER_MAX_INSTANCE 32
>  #define RTE_EVENT_ETH_TX_ADAPTER_MAX_INSTANCE 32
> +#define RTE_EVENT_ETH_RX_ADAPTER_BUFFER_SIZE 128

We are limiting any configuration to rte_config.h file.
Could you make it dynamic with the default value and application can
pass the value
kind of scheme?






>
>  /* rawdev defines */
>  #define RTE_RAWDEV_MAX_DEVS 64
> diff --git a/lib/eventdev/rte_event_eth_rx_adapter.c b/lib/eventdev/rte_event_eth_rx_adapter.c
> index 13dfb28..0fe265e 100644
> --- a/lib/eventdev/rte_event_eth_rx_adapter.c
> +++ b/lib/eventdev/rte_event_eth_rx_adapter.c
> @@ -25,7 +25,12 @@
>
>  #define BATCH_SIZE             32
>  #define BLOCK_CNT_THRESHOLD    10
> -#define ETH_EVENT_BUFFER_SIZE  (4*BATCH_SIZE)
> +
> +#define ETH_EVENT_BUFFER_SIZE \
> +               (RTE_EVENT_ETH_RX_ADAPTER_BUFFER_SIZE + BATCH_SIZE + BATCH_SIZE)
> +
> +#define MAX_ETH_EVENT_BUFFER_SIZE (USHRT_MAX - BATCH_SIZE - BATCH_SIZE)
> +
>  #define MAX_VECTOR_SIZE                1024
>  #define MIN_VECTOR_SIZE                4
>  #define MAX_VECTOR_NS          1E9
> @@ -2165,6 +2170,13 @@ rte_event_eth_rx_adapter_create_ext(uint8_t id, uint8_t dev_id,
>                 return -EEXIST;
>         }
>
> +       if (RTE_DIM(rx_adapter->event_enqueue_buffer.events) > USHRT_MAX) {
> +               RTE_EDEV_LOG_ERR("CONFIG_RTE_ADPTR_ETH_EVENT_BUFFER_SIZE is "
> +                                "greater than max allowed value %u",
> +                                MAX_ETH_EVENT_BUFFER_SIZE);
> +               return -EINVAL;
> +       }
> +
>         socket_id = rte_event_dev_socket_id(dev_id);
>         snprintf(mem_name, ETH_RX_ADAPTER_MEM_NAME_LEN,
>                 "rte_event_eth_rx_adapter_%d",
> --
> 2.6.4
>


More information about the dev mailing list