Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/patches/2205092/?format=api
{ "id": 2205092, "url": "http://patchwork.ozlabs.org/api/patches/2205092/?format=api", "web_url": "http://patchwork.ozlabs.org/project/intel-wired-lan/patch/20260304160345.1340940-10-larysa.zaremba@intel.com/", "project": { "id": 46, "url": "http://patchwork.ozlabs.org/api/projects/46/?format=api", "name": "Intel Wired Ethernet development", "link_name": "intel-wired-lan", "list_id": "intel-wired-lan.osuosl.org", "list_email": "intel-wired-lan@osuosl.org", "web_url": "", "scm_url": "", "webscm_url": "", "list_archive_url": "", "list_archive_url_format": "", "commit_url_format": "" }, "msgid": "<20260304160345.1340940-10-larysa.zaremba@intel.com>", "list_archive_url": null, "date": "2026-03-04T16:03:41", "name": "[iwl-next,v3,09/10] ixgbevf: reconfigure page pool when reallocating buffers", "commit_ref": null, "pull_url": null, "state": "changes-requested", "archived": false, "hash": "7112dc31a1759f38284aa0a69b91d1332fa77880", "submitter": { "id": 84900, "url": "http://patchwork.ozlabs.org/api/people/84900/?format=api", "name": "Larysa Zaremba", "email": "larysa.zaremba@intel.com" }, "delegate": { "id": 109701, "url": "http://patchwork.ozlabs.org/api/users/109701/?format=api", "username": "anguy11", "first_name": "Anthony", "last_name": "Nguyen", "email": "anthony.l.nguyen@intel.com" }, "mbox": "http://patchwork.ozlabs.org/project/intel-wired-lan/patch/20260304160345.1340940-10-larysa.zaremba@intel.com/mbox/", "series": [ { "id": 494412, "url": "http://patchwork.ozlabs.org/api/series/494412/?format=api", "web_url": "http://patchwork.ozlabs.org/project/intel-wired-lan/list/?series=494412", "date": "2026-03-04T16:03:32", "name": "libeth and full XDP for ixgbevf", "version": 3, "mbox": "http://patchwork.ozlabs.org/series/494412/mbox/" } ], "comments": "http://patchwork.ozlabs.org/api/patches/2205092/comments/", "check": "pending", "checks": "http://patchwork.ozlabs.org/api/patches/2205092/checks/", "tags": {}, "related": [], "headers": { "Return-Path": "<intel-wired-lan-bounces@osuosl.org>", "X-Original-To": [ "incoming@patchwork.ozlabs.org", "intel-wired-lan@lists.osuosl.org" ], "Delivered-To": [ "patchwork-incoming@legolas.ozlabs.org", "intel-wired-lan@lists.osuosl.org" ], "Authentication-Results": [ "legolas.ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=osuosl.org header.i=@osuosl.org header.a=rsa-sha256\n header.s=default header.b=i9kSoXI3;\n\tdkim-atps=neutral", "legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=osuosl.org\n (client-ip=140.211.166.138; helo=smtp1.osuosl.org;\n envelope-from=intel-wired-lan-bounces@osuosl.org;\n receiver=patchwork.ozlabs.org)" ], "Received": [ "from smtp1.osuosl.org (smtp1.osuosl.org [140.211.166.138])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519 server-signature ECDSA (secp384r1) server-digest SHA384)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4fQywn02qfz1xws\n\tfor <incoming@patchwork.ozlabs.org>; Thu, 05 Mar 2026 03:36:25 +1100 (AEDT)", "from localhost (localhost [127.0.0.1])\n\tby smtp1.osuosl.org (Postfix) with ESMTP id 964E98137E;\n\tWed, 4 Mar 2026 16:36:17 +0000 (UTC)", "from smtp1.osuosl.org ([127.0.0.1])\n by localhost (smtp1.osuosl.org [127.0.0.1]) (amavis, port 10024) with ESMTP\n id c2koLSIKZOh2; Wed, 4 Mar 2026 16:36:16 +0000 (UTC)", "from lists1.osuosl.org (lists1.osuosl.org [140.211.166.142])\n\tby smtp1.osuosl.org (Postfix) with ESMTP id C6D3F81364;\n\tWed, 4 Mar 2026 16:36:16 +0000 (UTC)", "from smtp3.osuosl.org (smtp3.osuosl.org [140.211.166.136])\n by lists1.osuosl.org (Postfix) with ESMTP id 7C58E1EB\n for <intel-wired-lan@lists.osuosl.org>; Wed, 4 Mar 2026 16:36:15 +0000 (UTC)", "from localhost (localhost [127.0.0.1])\n by smtp3.osuosl.org (Postfix) with ESMTP id 630E86086F\n for <intel-wired-lan@lists.osuosl.org>; Wed, 4 Mar 2026 16:36:15 +0000 (UTC)", "from smtp3.osuosl.org ([127.0.0.1])\n by localhost (smtp3.osuosl.org [127.0.0.1]) (amavis, port 10024) with ESMTP\n id rR7IG4x08BL2 for <intel-wired-lan@lists.osuosl.org>;\n Wed, 4 Mar 2026 16:36:14 +0000 (UTC)", "from mgamail.intel.com (mgamail.intel.com [192.198.163.18])\n by smtp3.osuosl.org (Postfix) with ESMTPS id 66F866086D\n for <intel-wired-lan@lists.osuosl.org>; Wed, 4 Mar 2026 16:36:14 +0000 (UTC)", "from fmviesa002.fm.intel.com ([10.60.135.142])\n by fmvoesa112.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;\n 04 Mar 2026 08:36:14 -0800", "from irvmail002.ir.intel.com ([10.43.11.120])\n by fmviesa002.fm.intel.com with ESMTP; 04 Mar 2026 08:36:10 -0800", "from lincoln.igk.intel.com (lincoln.igk.intel.com [10.102.21.235])\n by irvmail002.ir.intel.com (Postfix) with ESMTP id 2E7DE312CA;\n Wed, 4 Mar 2026 16:36:08 +0000 (GMT)" ], "X-Virus-Scanned": [ "amavis at osuosl.org", "amavis at osuosl.org" ], "X-Comment": "SPF check N/A for local connections - client-ip=140.211.166.142;\n helo=lists1.osuosl.org; envelope-from=intel-wired-lan-bounces@osuosl.org;\n receiver=<UNKNOWN> ", "DKIM-Filter": [ "OpenDKIM Filter v2.11.0 smtp1.osuosl.org C6D3F81364", "OpenDKIM Filter v2.11.0 smtp3.osuosl.org 66F866086D" ], "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed; d=osuosl.org;\n\ts=default; t=1772642176;\n\tbh=xH3Zmcd576nlLcKjE9auZk0MqMBeH8c5vtdU1xpyRXM=;\n\th=From:To:Cc:Date:In-Reply-To:References:Subject:List-Id:\n\t List-Unsubscribe:List-Archive:List-Post:List-Help:List-Subscribe:\n\t From;\n\tb=i9kSoXI3xtmfMTD2v4k3O1viIjfxWbIAOWjtFBoqJ1zNjs5ryX7mjXKA6zVbSpYlM\n\t aNXOxOBc0FYyz+DlsElY3q8hAERU/QJb8n7Kl1rOdLkdOBIVVJg8P8ZO5kwTXlaAvR\n\t 5NFcJi0km7744NaRF1BKxA88YNSWCnVXewPW894guMOeSz1Z9QTRMceiugWTkllmci\n\t yARr8HjEVqKzeBH0decUxpfpbw8uSxCCwjFdH+VL69dKvXcxqupAm6Z55V9VJlp5l2\n\t nwG+WhzGtA7GresAslhsiPZPYlZTwqCxG3BBV43B4f0Gr8tGTAwMiMapC8ix5IF5Sk\n\t gVZQCp6/PFQwg==", "Received-SPF": "Pass (mailfrom) identity=mailfrom; client-ip=192.198.163.18;\n helo=mgamail.intel.com; envelope-from=larysa.zaremba@intel.com;\n receiver=<UNKNOWN>", "DMARC-Filter": "OpenDMARC Filter v1.4.2 smtp3.osuosl.org 66F866086D", "X-CSE-ConnectionGUID": [ "K3+g2riCRsOR3Q+gQmjF5w==", "bmMhBjZnRnaC4vLQ7HpYNw==" ], "X-CSE-MsgGUID": [ "0nDMAuBTTmSFBUj1xyaA2A==", "xBt0cTI1Sr6BaAXFry3wFQ==" ], "X-IronPort-AV": [ "E=McAfee;i=\"6800,10657,11719\"; a=\"72906446\"", "E=Sophos;i=\"6.21,324,1763452800\"; d=\"scan'208\";a=\"72906446\"", "E=Sophos;i=\"6.21,324,1763452800\"; d=\"scan'208\";a=\"241405028\"" ], "X-ExtLoop1": "1", "From": "Larysa Zaremba <larysa.zaremba@intel.com>", "To": "Tony Nguyen <anthony.l.nguyen@intel.com>, intel-wired-lan@lists.osuosl.org", "Cc": "Larysa Zaremba <larysa.zaremba@intel.com>,\n Przemek Kitszel <przemyslaw.kitszel@intel.com>,\n Andrew Lunn <andrew+netdev@lunn.ch>,\n \"David S. Miller\" <davem@davemloft.net>,\n Eric Dumazet <edumazet@google.com>, Jakub Kicinski <kuba@kernel.org>,\n Paolo Abeni <pabeni@redhat.com>,\n Alexander Lobakin <aleksander.lobakin@intel.com>,\n Simon Horman <horms@kernel.org>, Alexei Starovoitov <ast@kernel.org>,\n Daniel Borkmann <daniel@iogearbox.net>,\n Jesper Dangaard Brouer <hawk@kernel.org>,\n John Fastabend <john.fastabend@gmail.com>,\n Stanislav Fomichev <sdf@fomichev.me>,\n Aleksandr Loktionov <aleksandr.loktionov@intel.com>,\n Natalia Wochtman <natalia.wochtman@intel.com>, netdev@vger.kernel.org,\n linux-kernel@vger.kernel.org, bpf@vger.kernel.org", "Date": "Wed, 4 Mar 2026 17:03:41 +0100", "Message-ID": "<20260304160345.1340940-10-larysa.zaremba@intel.com>", "X-Mailer": "git-send-email 2.52.0", "In-Reply-To": "<20260304160345.1340940-1-larysa.zaremba@intel.com>", "References": "<20260304160345.1340940-1-larysa.zaremba@intel.com>", "MIME-Version": "1.0", "Content-Transfer-Encoding": "8bit", "X-Mailman-Original-DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/simple;\n d=intel.com; i=@intel.com; q=dns/txt; s=Intel;\n t=1772642174; x=1804178174;\n h=from:to:cc:subject:date:message-id:in-reply-to:\n references:mime-version:content-transfer-encoding;\n bh=dFgFR9mD8Y+SNY8Jnfeggcz+/V/svBglT97OuTyNgW4=;\n b=V5jWMGhCTqDnkZ2PxQEQCbuJIpZ/FvWIg40KuU98QX3/K4re74nwj9gi\n WwPA/Ch+mdaq4SCGCuGOEObqxWDwGzTz0WTfOMhULJPXJwA4EzLjoqruS\n CT2nDBQa79rAmmtprXrc8clgSFA9JxH2cNUFZbjiRax4V72uJPuxjMnlj\n 7i6OiU1MO0lR7OTzHySspKeLrP7E1QynDaFBeISywL3XnaCeruZ6xWx6B\n r3VI/pXRJxlc3LX7Vc1jEPUbxqmpraJ6Zm8h/snYg3MNl4Va48YYBYtnH\n 00IucbzSVZigj0vBcvKH2jJ74mDFoxg0x2dX4D+H15mxwZFjWO1P2Hvo3\n w==;", "X-Mailman-Original-Authentication-Results": [ "smtp3.osuosl.org;\n dmarc=pass (p=none dis=none)\n header.from=intel.com", "smtp3.osuosl.org;\n dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com\n header.a=rsa-sha256 header.s=Intel header.b=V5jWMGhC" ], "Subject": "[Intel-wired-lan] [PATCH iwl-next v3 09/10] ixgbevf: reconfigure\n page pool when reallocating buffers", "X-BeenThere": "intel-wired-lan@osuosl.org", "X-Mailman-Version": "2.1.30", "Precedence": "list", "List-Id": "Intel Wired Ethernet Linux Kernel Driver Development\n <intel-wired-lan.osuosl.org>", "List-Unsubscribe": "<https://lists.osuosl.org/mailman/options/intel-wired-lan>,\n <mailto:intel-wired-lan-request@osuosl.org?subject=unsubscribe>", "List-Archive": "<http://lists.osuosl.org/pipermail/intel-wired-lan/>", "List-Post": "<mailto:intel-wired-lan@osuosl.org>", "List-Help": "<mailto:intel-wired-lan-request@osuosl.org?subject=help>", "List-Subscribe": "<https://lists.osuosl.org/mailman/listinfo/intel-wired-lan>,\n <mailto:intel-wired-lan-request@osuosl.org?subject=subscribe>", "Errors-To": "intel-wired-lan-bounces@osuosl.org", "Sender": "\"Intel-wired-lan\" <intel-wired-lan-bounces@osuosl.org>" }, "content": "Currently, when MTU is changed, page pool is not reconfigured, which leads\nto usage of suboptimal buffer sizes.\n\nAlways destroy page pool when cleaning the ring up and create it anew when\nwe first allocate Rx buffers.\n\nReviewed-by: Aleksandr Loktionov <aleksandr.loktionov@intel.com>\nSigned-off-by: Larysa Zaremba <larysa.zaremba@intel.com>\n---\n .../net/ethernet/intel/ixgbevf/ixgbevf_main.c | 69 +++++++++----------\n 1 file changed, 33 insertions(+), 36 deletions(-)", "diff": "diff --git a/drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c b/drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c\nindex d00d3b307a8f..196e51eb516a 100644\n--- a/drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c\n+++ b/drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c\n@@ -1662,6 +1662,14 @@ static void ixgbevf_rx_destroy_pp(struct ixgbevf_ring *rx_ring)\n \t\t.fqes\t= rx_ring->rx_fqes,\n \t};\n \n+\tif (!fq.pp)\n+\t\treturn;\n+\n+\tif (xdp_rxq_info_is_reg(&rx_ring->xdp_rxq)) {\n+\t\txdp_rxq_info_detach_mem_model(&rx_ring->xdp_rxq);\n+\t\txdp_rxq_info_unreg(&rx_ring->xdp_rxq);\n+\t}\n+\n \tlibeth_rx_fq_destroy(&fq);\n \trx_ring->rx_fqes = NULL;\n \trx_ring->pp = NULL;\n@@ -1712,6 +1720,14 @@ static int ixgbevf_rx_create_pp(struct ixgbevf_ring *rx_ring)\n \trx_ring->truesize = fq.truesize;\n \trx_ring->rx_buf_len = fq.buf_len;\n \n+\t/* XDP RX-queue info */\n+\tret = __xdp_rxq_info_reg(&rx_ring->xdp_rxq, rx_ring->netdev,\n+\t\t\t\t rx_ring->queue_index, 0, rx_ring->truesize);\n+\tif (ret)\n+\t\tgoto err;\n+\n+\txdp_rxq_info_attach_page_pool(&rx_ring->xdp_rxq, rx_ring->pp);\n+\n \tif (!fq.hsplit)\n \t\treturn 0;\n \n@@ -1781,6 +1797,8 @@ static void ixgbevf_configure_rx_ring(struct ixgbevf_adapter *adapter,\n \tring->next_to_clean = 0;\n \tring->next_to_use = 0;\n \n+\tixgbevf_rx_create_pp(ring);\n+\n \t/* RXDCTL.RLPML does not work on 82599 */\n \tif (adapter->hw.mac.type != ixgbe_mac_82599_vf) {\n \t\tu32 pkt_len =\n@@ -2273,8 +2291,10 @@ static void ixgbevf_clean_all_rx_rings(struct ixgbevf_adapter *adapter)\n {\n \tint i;\n \n-\tfor (i = 0; i < adapter->num_rx_queues; i++)\n+\tfor (i = 0; i < adapter->num_rx_queues; i++) {\n \t\tixgbevf_clean_rx_ring(adapter->rx_ring[i]);\n+\t\tixgbevf_rx_destroy_pp(adapter->rx_ring[i]);\n+\t}\n }\n \n /**\n@@ -3295,6 +3315,11 @@ static int ixgbevf_setup_all_tx_resources(struct ixgbevf_adapter *adapter)\n \treturn err;\n }\n \n+static struct device *ixgbevf_dma_dev_from_ring(struct ixgbevf_ring *ring)\n+{\n+\treturn &ring->q_vector->adapter->pdev->dev;\n+}\n+\n /**\n * ixgbevf_setup_rx_resources - allocate Rx resources\n * @adapter: board private structure\n@@ -3305,43 +3330,25 @@ static int ixgbevf_setup_all_tx_resources(struct ixgbevf_adapter *adapter)\n int ixgbevf_setup_rx_resources(struct ixgbevf_adapter *adapter,\n \t\t\t struct ixgbevf_ring *rx_ring)\n {\n-\tint ret;\n-\n-\tret = ixgbevf_rx_create_pp(rx_ring);\n-\tif (ret)\n-\t\treturn ret;\n-\n \tu64_stats_init(&rx_ring->syncp);\n \n \t/* Round up to nearest 4K */\n \trx_ring->dma_size = rx_ring->count * sizeof(union ixgbe_adv_rx_desc);\n \trx_ring->dma_size = ALIGN(rx_ring->dma_size, 4096);\n \n-\trx_ring->desc = dma_alloc_coherent(rx_ring->pp->p.dev,\n+\trx_ring->desc = dma_alloc_coherent(ixgbevf_dma_dev_from_ring(rx_ring),\n \t\t\t\t\t rx_ring->dma_size,\n \t\t\t\t\t &rx_ring->dma, GFP_KERNEL);\n \n \tif (!rx_ring->desc) {\n-\t\tret = -ENOMEM;\n-\t\tgoto err;\n+\t\tdev_err(rx_ring->dev,\n+\t\t\t\"Unable to allocate memory for the Rx descriptor ring\\n\");\n+\t\treturn -ENOMEM;\n \t}\n \n-\t/* XDP RX-queue info */\n-\tret = __xdp_rxq_info_reg(&rx_ring->xdp_rxq, adapter->netdev,\n-\t\t\t\t rx_ring->queue_index, 0, rx_ring->truesize);\n-\tif (ret)\n-\t\tgoto err;\n-\n-\txdp_rxq_info_attach_page_pool(&rx_ring->xdp_rxq, rx_ring->pp);\n-\n \trx_ring->xdp_prog = adapter->xdp_prog;\n \n \treturn 0;\n-err:\n-\tixgbevf_rx_destroy_pp(rx_ring);\n-\tdev_err(rx_ring->dev, \"Unable to allocate memory for the Rx descriptor ring\\n\");\n-\n-\treturn ret;\n }\n \n /**\n@@ -3382,24 +3389,14 @@ static int ixgbevf_setup_all_rx_resources(struct ixgbevf_adapter *adapter)\n **/\n void ixgbevf_free_rx_resources(struct ixgbevf_ring *rx_ring)\n {\n-\tstruct libeth_fq fq = {\n-\t\t.fqes\t= rx_ring->rx_fqes,\n-\t\t.pp\t= rx_ring->pp,\n-\t};\n-\n \tixgbevf_clean_rx_ring(rx_ring);\n-\n+\tixgbevf_rx_destroy_pp(rx_ring);\n \trx_ring->xdp_prog = NULL;\n-\txdp_rxq_info_detach_mem_model(&rx_ring->xdp_rxq);\n-\txdp_rxq_info_unreg(&rx_ring->xdp_rxq);\n \n-\tdma_free_coherent(fq.pp->p.dev, rx_ring->dma_size, rx_ring->desc,\n+\tdma_free_coherent(ixgbevf_dma_dev_from_ring(rx_ring),\n+\t\t\t rx_ring->dma_size, rx_ring->desc,\n \t\t\t rx_ring->dma);\n \trx_ring->desc = NULL;\n-\n-\tlibeth_rx_fq_destroy(&fq);\n-\trx_ring->rx_fqes = NULL;\n-\trx_ring->pp = NULL;\n }\n \n /**\n", "prefixes": [ "iwl-next", "v3", "09/10" ] }