From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 79323A0C4C; Fri, 16 Jul 2021 19:02:57 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id EDCB24067B; Fri, 16 Jul 2021 19:02:56 +0200 (CEST) Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by mails.dpdk.org (Postfix) with ESMTP id EBE0E40151 for ; Fri, 16 Jul 2021 19:02:54 +0200 (CEST) X-IronPort-AV: E=McAfee;i="6200,9189,10047"; a="210811265" X-IronPort-AV: E=Sophos;i="5.84,245,1620716400"; d="scan'208";a="210811265" Received: from fmsmga003.fm.intel.com ([10.253.24.29]) by orsmga103.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 16 Jul 2021 10:02:53 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.84,245,1620716400"; d="scan'208";a="497060768" Received: from txandevlnx322.an.intel.com ([10.123.117.44]) by FMSMGA003.fm.intel.com with ESMTP; 16 Jul 2021 10:02:44 -0700 From: Ganapati Kundapura To: jay.jayatheerthan@intel.com Cc: dev@dpdk.org Date: Fri, 16 Jul 2021 12:02:36 -0500 Message-Id: <20210716170236.2297967-1-ganapati.kundapura@intel.com> X-Mailer: git-send-email 2.23.0 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Subject: [dpdk-dev] [PATCH] eventdev: configure the Rx event buffer size X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" 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 --- 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 /* 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