From patchwork Wed Dec 14 05:55:48 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Naga Harish K, S V" X-Patchwork-Id: 120856 X-Patchwork-Delegate: jerinj@marvell.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id DB167A0543; Wed, 14 Dec 2022 06:55:58 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id BE476400D6; Wed, 14 Dec 2022 06:55:58 +0100 (CET) Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by mails.dpdk.org (Postfix) with ESMTP id D49904003F for ; Wed, 14 Dec 2022 06:55:56 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1670997357; x=1702533357; h=from:to:cc:subject:date:message-id:mime-version: content-transfer-encoding; bh=gooTUz7g6hh+X3+S1XkvYcKxUa3ukjZYt63QcckRSv8=; b=KBTmjJe5uEM8AWMrwZjYm7w4SsxUaJXhU0VUQNBGmv0bXvv6gRNp7rdC Y8E5xEXLa3oTNynJFuQTcCCqRuL3B72bEWAyBBhCgSt4XCXWnaZK5+QSS IoIbByNcXHXJgBrGFsGwU1l6majueWzvyIqP1tEpKWmHi2xAgvB6HxacZ FhJ5NuLW+bsHnVhr5IYJvlbTrrPj72uI6uU5pH4dWa9Wvz8s3FSP6m9qY Ux2Sx+Ex9c7sQEjt6vSSMoDAe4z6sBmqZQk9OjpH2iUvZmgZ1cimoq1r9 k74CGjOeiF3Zqbq/c0yx7r3N6ANFh4B2wP5vRDxCscEsY9RBan4d/aMQ5 g==; X-IronPort-AV: E=McAfee;i="6500,9779,10560"; a="404589150" X-IronPort-AV: E=Sophos;i="5.96,243,1665471600"; d="scan'208";a="404589150" Received: from orsmga002.jf.intel.com ([10.7.209.21]) by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 13 Dec 2022 21:55:55 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6500,9779,10560"; a="648878183" X-IronPort-AV: E=Sophos;i="5.96,243,1665471600"; d="scan'208";a="648878183" Received: from txandevlnx322.an.intel.com ([10.123.117.44]) by orsmga002.jf.intel.com with ESMTP; 13 Dec 2022 21:55:54 -0800 From: Naga Harish K S V To: jerinj@marvell.com, erik.g.carrillo@intel.com, abhinandan.gujjar@intel.com Cc: dev@dpdk.org, jay.jayatheerthan@intel.com Subject: [PATCH 1/4] eventdev/eth_rx: change eventdev reconfig logic Date: Tue, 13 Dec 2022 23:55:48 -0600 Message-Id: <20221214055551.913821-1-s.v.naga.harish.k@intel.com> X-Mailer: git-send-email 2.23.0 MIME-Version: 1.0 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 When rte_event_eth_rx_adapter_create() or rte_event_eth_rx_adapter_create_with_params() is used for creating adapter instance, eventdev is reconfigured with additional ``rte_event_dev_config::nb_event_ports`` parameter. This eventdev reconfig logic is enhanced to increment the ``rte_event_dev_config::nb_single_link_event_port_queues`` parameter if the adapter event port config is of type ``RTE_EVENT_PORT_CFG_SINGLE_LINK``. With this change the application no longer need to configure the eventdev with ``rte_event_dev_config::nb_single_link_event_port_queues`` parameter required for eth_rx adapter when the adapter is created using above mentioned apis. Signed-off-by: Naga Harish K S V --- .../prog_guide/event_ethernet_rx_adapter.rst | 18 ++++++++++++++++++ lib/eventdev/rte_event_eth_rx_adapter.c | 3 +++ 2 files changed, 21 insertions(+) diff --git a/doc/guides/prog_guide/event_ethernet_rx_adapter.rst b/doc/guides/prog_guide/event_ethernet_rx_adapter.rst index 116c0a27c6..8fc9be0a9d 100644 --- a/doc/guides/prog_guide/event_ethernet_rx_adapter.rst +++ b/doc/guides/prog_guide/event_ethernet_rx_adapter.rst @@ -71,6 +71,24 @@ set to true. The function is passed the event device to be associated with the adapter and port configuration for the adapter to setup an event port if the adapter needs to use a service function. +Event device configuration for service based adapter +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +When rte_event_eth_rx_adapter_create() or +rte_event_eth_rx_adapter_create_with_params() is used for creating +adapter instance, eventdev is reconfigured with additional +``rte_event_dev_config::nb_event_ports`` parameter. +This eventdev reconfig logic also increment the +``rte_event_dev_config::nb_single_link_event_port_queues`` +parameter if the adapter event port config is of type +``RTE_EVENT_PORT_CFG_SINGLE_LINK``. + +So the application is no longer need to configure the +event device with ``rte_event_dev_config::nb_event_ports`` and +``rte_event_dev_config::nb_single_link_event_port_queues`` +parameters required for eth_rx adapter when the adapter is created +using above mentioned apis. + Adding Rx Queues to the Adapter Instance ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/lib/eventdev/rte_event_eth_rx_adapter.c b/lib/eventdev/rte_event_eth_rx_adapter.c index cf7bbd4d69..34aa87379e 100644 --- a/lib/eventdev/rte_event_eth_rx_adapter.c +++ b/lib/eventdev/rte_event_eth_rx_adapter.c @@ -1532,6 +1532,9 @@ rxa_default_conf_cb(uint8_t id, uint8_t dev_id, rte_event_dev_stop(dev_id); port_id = dev_conf.nb_event_ports; dev_conf.nb_event_ports += 1; + if (port_conf->event_port_cfg & RTE_EVENT_PORT_CFG_SINGLE_LINK) + dev_conf.nb_single_link_event_port_queues += 1; + ret = rte_event_dev_configure(dev_id, &dev_conf); if (ret) { RTE_EDEV_LOG_ERR("failed to configure event dev %u\n",