[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