Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/patches/130985/?format=api
https://patches.dpdk.org/api/patches/130985/?format=api", "web_url": "https://patches.dpdk.org/project/dpdk/patch/20230831123337.871496-2-bruce.richardson@intel.com/", "project": { "id": 1, "url": "https://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": "<20230831123337.871496-2-bruce.richardson@intel.com>", "list_archive_url": "https://inbox.dpdk.org/dev/20230831123337.871496-2-bruce.richardson@intel.com", "date": "2023-08-31T12:33:34", "name": "[v2,1/4] net/i40e: fix buffer leak on Rx reconfiguration", "commit_ref": null, "pull_url": null, "state": "accepted", "archived": true, "hash": "9f5cd200c6b83264f9edeb134193e45f05909bfd", "submitter": { "id": 20, "url": "https://patches.dpdk.org/api/people/20/?format=api", "name": "Bruce Richardson", "email": "bruce.richardson@intel.com" }, "delegate": { "id": 1540, "url": "https://patches.dpdk.org/api/users/1540/?format=api", "username": "qzhan15", "first_name": "Qi", "last_name": "Zhang", "email": "qi.z.zhang@intel.com" }, "mbox": "https://patches.dpdk.org/project/dpdk/patch/20230831123337.871496-2-bruce.richardson@intel.com/mbox/", "series": [ { "id": 29391, "url": "https://patches.dpdk.org/api/series/29391/?format=api", "web_url": "https://patches.dpdk.org/project/dpdk/list/?series=29391", "date": "2023-08-31T12:33:33", "name": "Fix i40e/iavf queue reconfig and restarting", "version": 2, "mbox": "https://patches.dpdk.org/series/29391/mbox/" } ], "comments": "https://patches.dpdk.org/api/patches/130985/comments/", "check": "success", "checks": "https://patches.dpdk.org/api/patches/130985/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 6B4B641FDD;\n\tThu, 31 Aug 2023 14:33:54 +0200 (CEST)", "from mails.dpdk.org (localhost [127.0.0.1])\n\tby mails.dpdk.org (Postfix) with ESMTP id 3279340299;\n\tThu, 31 Aug 2023 14:33:53 +0200 (CEST)", "from mgamail.intel.com (mgamail.intel.com [134.134.136.31])\n by mails.dpdk.org (Postfix) with ESMTP id 0490C40299;\n Thu, 31 Aug 2023 14:33:50 +0200 (CEST)", "from orsmga005.jf.intel.com ([10.7.209.41])\n by orsmga104.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;\n 31 Aug 2023 05:33:50 -0700", "from silpixa00401385.ir.intel.com ([10.237.214.14])\n by orsmga005.jf.intel.com with ESMTP; 31 Aug 2023 05:33:49 -0700" ], "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/simple;\n d=intel.com; i=@intel.com; q=dns/txt; s=Intel;\n t=1693485231; x=1725021231;\n h=from:to:cc:subject:date:message-id:in-reply-to:\n references:mime-version:content-transfer-encoding;\n bh=82J2yt48GRNjIYEQ/H5nj7iVeoV8VOdSOMgaQN8UVbs=;\n b=jXYvnSbiUry71nOwZKdcwoc2xWK8Y6rgvE3LQ0Q3NXO8t49jd6o0UJdo\n dmWGZzCfyx/h7p5WHTZA6woQbDBlHo21yYqUZb3fXQnP3IXzvWUpNCp0C\n 2xzuahD7pGn/XpxpMr0M+FqYNg+zz/UuyRC9r2l5HmXYvP8jusMT9N+Mt\n 9s0IJsBDKF7ownXgPlZitcLjsGefCKOCdZLtNuHDA3P6X4gsCJA+FInwV\n jYOZ23DKGXze4t8/JaX5kDOD0qGQo7YunZ2XL6Gf7xNN9+IFeYq2s31AP\n xXAoJAlUDY5+OjOMN9aHID+oQuc4phNndqRzKfufp3STlmCezvLRrbrWD g==;", "X-IronPort-AV": [ "E=McAfee;i=\"6600,9927,10818\"; a=\"439873970\"", "E=Sophos;i=\"6.02,216,1688454000\"; d=\"scan'208\";a=\"439873970\"", "E=McAfee;i=\"6600,9927,10818\"; a=\"913230898\"", "E=Sophos;i=\"6.02,216,1688454000\"; d=\"scan'208\";a=\"913230898\"" ], "X-ExtLoop1": "1", "From": "Bruce Richardson <bruce.richardson@intel.com>", "To": "dev@dpdk.org", "Cc": "Bruce Richardson <bruce.richardson@intel.com>, qi.z.zhang@intel.com,\n stable@dpdk.org", "Subject": "[PATCH v2 1/4] net/i40e: fix buffer leak on Rx reconfiguration", "Date": "Thu, 31 Aug 2023 13:33:34 +0100", "Message-Id": "<20230831123337.871496-2-bruce.richardson@intel.com>", "X-Mailer": "git-send-email 2.39.2", "In-Reply-To": "<20230831123337.871496-1-bruce.richardson@intel.com>", "References": "<20230830155919.592390-1-bruce.richardson@intel.com>\n <20230831123337.871496-1-bruce.richardson@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 reconfiguring a single queue on a device, the mbuf initializer\nvalue was not getting set, and remained at zero. This lead to mbuf leaks\nas the refcount was incorrect (0), so on free it wrapped around to\nUINT16_MAX. When setting up the mbuf initializer, also ensure that the\nqueue is explicitly marked as using a vector function by setting the\n\"rx_using_sse\" flag.\n\nFixes: a3c83a2527e1 (\"net/i40e: enable runtime queue setup\")\nCc: qi.z.zhang@intel.com\nCc: stable@dpdk.org\n\nSigned-off-by: Bruce Richardson <bruce.richardson@intel.com>\n---\n drivers/net/i40e/i40e_rxtx.c | 6 ++++++\n drivers/net/i40e/i40e_rxtx_vec_common.h | 1 +\n 2 files changed, 7 insertions(+)", "diff": "diff --git a/drivers/net/i40e/i40e_rxtx.c b/drivers/net/i40e/i40e_rxtx.c\nindex b4f65b58fa..d96bbbb677 100644\n--- a/drivers/net/i40e/i40e_rxtx.c\n+++ b/drivers/net/i40e/i40e_rxtx.c\n@@ -1918,6 +1918,12 @@ i40e_dev_rx_queue_setup_runtime(struct rte_eth_dev *dev,\n \t\tif (use_def_burst_func)\n \t\t\tad->rx_bulk_alloc_allowed = false;\n \t\ti40e_set_rx_function(dev);\n+\n+\t\tif (ad->rx_vec_allowed && i40e_rxq_vec_setup(rxq)) {\n+\t\t\tPMD_DRV_LOG(ERR, \"Failed vector rx setup.\");\n+\t\t\treturn -EINVAL;\n+\t\t}\n+\n \t\treturn 0;\n \t} else if (ad->rx_vec_allowed && !rte_is_power_of_2(rxq->nb_rx_desc)) {\n \t\tPMD_DRV_LOG(ERR, \"Vector mode is allowed, but descriptor\"\ndiff --git a/drivers/net/i40e/i40e_rxtx_vec_common.h b/drivers/net/i40e/i40e_rxtx_vec_common.h\nindex fe1a6ec75e..8b745630e4 100644\n--- a/drivers/net/i40e/i40e_rxtx_vec_common.h\n+++ b/drivers/net/i40e/i40e_rxtx_vec_common.h\n@@ -201,6 +201,7 @@ i40e_rxq_vec_setup_default(struct i40e_rx_queue *rxq)\n \trte_compiler_barrier();\n \tp = (uintptr_t)&mb_def.rearm_data;\n \trxq->mbuf_initializer = *(uint64_t *)p;\n+\trxq->rx_using_sse = 1;\n \treturn 0;\n }\n \n", "prefixes": [ "v2", "1/4" ] }{ "id": 130985, "url": "