Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/patches/121944/?format=api
http://patches.dpdk.org/api/patches/121944/?format=api", "web_url": "http://patches.dpdk.org/project/dpdk/patch/20230112163035.1970151-4-s.v.naga.harish.k@intel.com/", "project": { "id": 1, "url": "http://patches.dpdk.org/api/projects/1/?format=api", "name": "DPDK", "link_name": "dpdk", "list_id": "dev.dpdk.org", "list_email": "dev@dpdk.org", "web_url": "http://core.dpdk.org", "scm_url": "git://dpdk.org/dpdk", "webscm_url": "http://git.dpdk.org/dpdk", "list_archive_url": "https://inbox.dpdk.org/dev", "list_archive_url_format": "https://inbox.dpdk.org/dev/{}", "commit_url_format": "" }, "msgid": "<20230112163035.1970151-4-s.v.naga.harish.k@intel.com>", "list_archive_url": "https://inbox.dpdk.org/dev/20230112163035.1970151-4-s.v.naga.harish.k@intel.com", "date": "2023-01-12T16:30:35", "name": "[v7,4/4] eventdev/timer: change eventdev reconfig logic", "commit_ref": null, "pull_url": null, "state": "accepted", "archived": true, "hash": "b2eda516c385b38f930c23a440630831354dacc4", "submitter": { "id": 2280, "url": "http://patches.dpdk.org/api/people/2280/?format=api", "name": "Naga Harish K, S V", "email": "s.v.naga.harish.k@intel.com" }, "delegate": { "id": 310, "url": "http://patches.dpdk.org/api/users/310/?format=api", "username": "jerin", "first_name": "Jerin", "last_name": "Jacob", "email": "jerinj@marvell.com" }, "mbox": "http://patches.dpdk.org/project/dpdk/patch/20230112163035.1970151-4-s.v.naga.harish.k@intel.com/mbox/", "series": [ { "id": 26511, "url": "http://patches.dpdk.org/api/series/26511/?format=api", "web_url": "http://patches.dpdk.org/project/dpdk/list/?series=26511", "date": "2023-01-12T16:30:32", "name": "[v7,1/4] eventdev/eth_rx: change eventdev reconfig logic", "version": 7, "mbox": "http://patches.dpdk.org/series/26511/mbox/" } ], "comments": "http://patches.dpdk.org/api/patches/121944/comments/", "check": "fail", "checks": "http://patches.dpdk.org/api/patches/121944/checks/", "tags": {}, "related": [], "headers": { "Return-Path": "<dev-bounces@dpdk.org>", "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])\n\tby inbox.dpdk.org (Postfix) with ESMTP id 09D2E423B8;\n\tThu, 12 Jan 2023 17:30:59 +0100 (CET)", "from mails.dpdk.org (localhost [127.0.0.1])\n\tby mails.dpdk.org (Postfix) with ESMTP id DC0C342D8B;\n\tThu, 12 Jan 2023 17:30:48 +0100 (CET)", "from mga18.intel.com (mga18.intel.com [134.134.136.126])\n by mails.dpdk.org (Postfix) with ESMTP id 28D4142D6D\n for <dev@dpdk.org>; Thu, 12 Jan 2023 17:30:47 +0100 (CET)", "from fmsmga008.fm.intel.com ([10.253.24.58])\n by orsmga106.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;\n 12 Jan 2023 08:30:46 -0800", "from txandevlnx322.an.intel.com ([10.123.117.44])\n by fmsmga008.fm.intel.com with ESMTP; 12 Jan 2023 08:30:46 -0800" ], "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/simple;\n d=intel.com; i=@intel.com; q=dns/txt; s=Intel;\n t=1673541047; x=1705077047;\n h=from:to:cc:subject:date:message-id:in-reply-to:\n references:mime-version:content-transfer-encoding;\n bh=bpTVcZvYZrPNsT7YkAVlzox5jsUQcPock+5BXAWCrFM=;\n b=WEoE2EfruGySh+eb7CrbVrMwX9TC08cdbO3P0hfCWfQIKi/Y5cQBtsb3\n MayYTchxQ6RUb5xLSBCkRjD2vcrwvsgyR0fAbJw1EewPHhjpNh/OJyeyb\n EBR53+fMGs+zWmo9UkqL6HykQ9uWH/pCj0hMKC/k1Or/Ij7aNWgk499fe\n ofzdoSoIbP11H85tk2oPlyRPPpQZDI1T72Mw7MNO4e/mXHQpKkf9V5iz3\n fjKFakYL0McuGuJ3lwKQW6Cs10hDQNJ6KW1jYwqTkIsYzBl3n7V9EDA5H\n w0lN5I+dGsl2JzWzHLL3jIuH3C8K6tlPMnOqv9XRhNM+Dr5pidtksnCB5 w==;", "X-IronPort-AV": [ "E=McAfee;i=\"6500,9779,10588\"; a=\"307298285\"", "E=Sophos;i=\"5.97,211,1669104000\"; d=\"scan'208\";a=\"307298285\"", "E=McAfee;i=\"6500,9779,10588\"; a=\"721151304\"", "E=Sophos;i=\"5.97,211,1669104000\"; d=\"scan'208\";a=\"721151304\"" ], "X-ExtLoop1": "1", "From": "Naga Harish K S V <s.v.naga.harish.k@intel.com>", "To": "jerinj@marvell.com, erik.g.carrillo@intel.com, abhinandan.gujjar@intel.com", "Cc": "dev@dpdk.org,\n\tjay.jayatheerthan@intel.com", "Subject": "[PATCH v7 4/4] eventdev/timer: change eventdev reconfig logic", "Date": "Thu, 12 Jan 2023 10:30:35 -0600", "Message-Id": "<20230112163035.1970151-4-s.v.naga.harish.k@intel.com>", "X-Mailer": "git-send-email 2.23.0", "In-Reply-To": "<20230112163035.1970151-1-s.v.naga.harish.k@intel.com>", "References": "<20230104064145.2600261-1-s.v.naga.harish.k@intel.com>\n <20230112163035.1970151-1-s.v.naga.harish.k@intel.com>", "MIME-Version": "1.0", "Content-Transfer-Encoding": "8bit", "X-BeenThere": "dev@dpdk.org", "X-Mailman-Version": "2.1.29", "Precedence": "list", "List-Id": "DPDK patches and discussions <dev.dpdk.org>", "List-Unsubscribe": "<https://mails.dpdk.org/options/dev>,\n <mailto:dev-request@dpdk.org?subject=unsubscribe>", "List-Archive": "<http://mails.dpdk.org/archives/dev/>", "List-Post": "<mailto:dev@dpdk.org>", "List-Help": "<mailto:dev-request@dpdk.org?subject=help>", "List-Subscribe": "<https://mails.dpdk.org/listinfo/dev>,\n <mailto:dev-request@dpdk.org?subject=subscribe>", "Errors-To": "dev-bounces@dpdk.org" }, "content": "When rte_event_timer_adapter_create() is used for creating adapter\ninstance, eventdev is reconfigured with additional\n``rte_event_dev_config::nb_event_ports`` parameter.\n\nThis eventdev reconfig logic is enhanced to increment the\n``rte_event_dev_config::nb_single_link_event_port_queues``\nparameter if the adapter event port config is of type\n``RTE_EVENT_PORT_CFG_SINGLE_LINK``.\n\nWith this change the application is no longer need to configure the\neventdev with ``rte_event_dev_config::nb_single_link_event_port_queues``\nparameter required for timer adapter when the adapter is created\nusing above mentioned api.\n\nSigned-off-by: Naga Harish K S V <s.v.naga.harish.k@intel.com>\nAcked-by: Abhinandan Gujjar <abhinandan.gujjar@intel.com>\n---\nv2:\n* fix build error in documentation\nv3:\n* update doxygen\nv4:\n* fix programmer guide\nv5:\n* update doxygen as per review comments\nv6:\n* fix adapter cretae logic with correct event port id\nv7:\n* updated 23.03 release notes\n---\n---\n doc/guides/prog_guide/event_timer_adapter.rst | 18 +++++++++++++++\n doc/guides/rel_notes/release_23_03.rst | 10 ++++++++\n lib/eventdev/rte_event_timer_adapter.c | 23 +++++++++++--------\n lib/eventdev/rte_event_timer_adapter.h | 14 +++++++++++\n 4 files changed, 55 insertions(+), 10 deletions(-)", "diff": "diff --git a/doc/guides/prog_guide/event_timer_adapter.rst b/doc/guides/prog_guide/event_timer_adapter.rst\nindex d7307a29bb..b5cd95fef1 100644\n--- a/doc/guides/prog_guide/event_timer_adapter.rst\n+++ b/doc/guides/prog_guide/event_timer_adapter.rst\n@@ -139,6 +139,24 @@ This function is passed a callback function that will be invoked if the\n adapter needs to create an event port, giving the application the opportunity\n to control how it is done.\n \n+Event device configuration for service based adapter\n+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n+\n+When rte_event_timer_adapter_create() is used for creating\n+adapter instance, ``rte_event_dev_config::nb_event_ports`` is\n+automatically incremented, and the event device is reconfigured with\n+additional event port during service initialization.\n+This event device reconfigure logic also increments the\n+``rte_event_dev_config::nb_single_link_event_port_queues``\n+parameter if the adapter event port config is of type\n+``RTE_EVENT_PORT_CFG_SINGLE_LINK``.\n+\n+Application no longer needs to account for the\n+``rte_event_dev_config::nb_event_ports`` and\n+``rte_event_dev_config::nb_single_link_event_port_queues``\n+parameters required for timer adapter in event device configuration,\n+when the adapter is created using the above-mentioned API.\n+\n Adapter modes\n ^^^^^^^^^^^^^\n An event timer adapter can be configured in either periodic or non-periodic mode\ndiff --git a/doc/guides/rel_notes/release_23_03.rst b/doc/guides/rel_notes/release_23_03.rst\nindex b8c5b68d6c..1815604598 100644\n--- a/doc/guides/rel_notes/release_23_03.rst\n+++ b/doc/guides/rel_notes/release_23_03.rst\n@@ -55,6 +55,16 @@ New Features\n Also, make sure to start the actual text at the margin.\n =======================================================\n \n+* **Updated the eventdev reconfigure logic for service based adapters.**\n+\n+ * This eventdev reconfig logic is enhanced to increment the\n+ ``rte_event_dev_config::nb_single_link_event_port_queues``\n+ parameter if event port config is of type\n+ ``RTE_EVENT_PORT_CFG_SINGLE_LINK``.\n+ * With this change, the application no longer needs to account for the\n+ ``rte_event_dev_config::nb_single_link_event_port_queues`` parameter\n+ required for adapters.\n+ * This change is added for eth_rx, eth_tx, crypto and timer eventdev adapters.\n \n Removed Items\n -------------\ndiff --git a/lib/eventdev/rte_event_timer_adapter.c b/lib/eventdev/rte_event_timer_adapter.c\nindex a0f14bf861..66554f13fc 100644\n--- a/lib/eventdev/rte_event_timer_adapter.c\n+++ b/lib/eventdev/rte_event_timer_adapter.c\n@@ -88,7 +88,20 @@ default_port_conf_cb(uint16_t id, uint8_t event_dev_id, uint8_t *event_port_id,\n \t\trte_event_dev_stop(dev_id);\n \n \tport_id = dev_conf.nb_event_ports;\n+\tif (conf_arg != NULL)\n+\t\tport_conf = conf_arg;\n+\telse {\n+\t\tport_conf = &def_port_conf;\n+\t\tret = rte_event_port_default_conf_get(dev_id, (port_id - 1),\n+\t\t\t\t\t\t port_conf);\n+\t\tif (ret < 0)\n+\t\t\treturn ret;\n+\t}\n+\n \tdev_conf.nb_event_ports += 1;\n+\tif (port_conf->event_port_cfg & RTE_EVENT_PORT_CFG_SINGLE_LINK)\n+\t\tdev_conf.nb_single_link_event_port_queues += 1;\n+\n \tret = rte_event_dev_configure(dev_id, &dev_conf);\n \tif (ret < 0) {\n \t\tEVTIM_LOG_ERR(\"failed to configure event dev %u\\n\", dev_id);\n@@ -99,16 +112,6 @@ default_port_conf_cb(uint16_t id, uint8_t event_dev_id, uint8_t *event_port_id,\n \t\treturn ret;\n \t}\n \n-\tif (conf_arg != NULL)\n-\t\tport_conf = conf_arg;\n-\telse {\n-\t\tport_conf = &def_port_conf;\n-\t\tret = rte_event_port_default_conf_get(dev_id, port_id,\n-\t\t\t\t\t\t port_conf);\n-\t\tif (ret < 0)\n-\t\t\treturn ret;\n-\t}\n-\n \tret = rte_event_port_setup(dev_id, port_id, port_conf);\n \tif (ret < 0) {\n \t\tEVTIM_LOG_ERR(\"failed to setup event port %u on event dev %u\\n\",\ndiff --git a/lib/eventdev/rte_event_timer_adapter.h b/lib/eventdev/rte_event_timer_adapter.h\nindex cd10db19e4..e21588bede 100644\n--- a/lib/eventdev/rte_event_timer_adapter.h\n+++ b/lib/eventdev/rte_event_timer_adapter.h\n@@ -212,6 +212,20 @@ typedef int (*rte_event_timer_adapter_port_conf_cb_t)(uint16_t id,\n *\n * This function must be invoked first before any other function in the API.\n *\n+ * When this API is used for creating adapter instance,\n+ * ``rte_event_dev_config::nb_event_ports`` is automatically incremented,\n+ * and the event device is reconfigured with additional event port during\n+ * service initialization. This event device reconfigure logic also increments\n+ * the ``rte_event_dev_config::nb_single_link_event_port_queues``\n+ * parameter if the adapter event port config is of type\n+ * ``RTE_EVENT_PORT_CFG_SINGLE_LINK``.\n+ *\n+ * Application no longer needs to account for\n+ * ``rte_event_dev_config::nb_event_ports`` and\n+ * ``rte_event_dev_config::nb_single_link_event_port_queues``\n+ * parameters required for Timer adapter in event device configuration\n+ * when the adapter is created with this API.\n+ *\n * @param conf\n * The event timer adapter configuration structure.\n *\n", "prefixes": [ "v7", "4/4" ] }{ "id": 121944, "url": "