Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/patches/1159874/?format=api
{ "id": 1159874, "url": "http://patchwork.ozlabs.org/api/patches/1159874/?format=api", "web_url": "http://patchwork.ozlabs.org/project/intel-wired-lan/patch/20190909165538.8125-1-jeffrey.t.kirsher@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": "<20190909165538.8125-1-jeffrey.t.kirsher@intel.com>", "list_archive_url": null, "date": "2019-09-09T16:55:38", "name": "[v2] i40e: fix potential RX buffer starvation for AF_XDP", "commit_ref": null, "pull_url": null, "state": "accepted", "archived": false, "hash": "26ae87ce91d0f133f4d294849d21f7ff9d16f7b1", "submitter": { "id": 473, "url": "http://patchwork.ozlabs.org/api/people/473/?format=api", "name": "Kirsher, Jeffrey T", "email": "jeffrey.t.kirsher@intel.com" }, "delegate": { "id": 68, "url": "http://patchwork.ozlabs.org/api/users/68/?format=api", "username": "jtkirshe", "first_name": "Jeff", "last_name": "Kirsher", "email": "jeffrey.t.kirsher@intel.com" }, "mbox": "http://patchwork.ozlabs.org/project/intel-wired-lan/patch/20190909165538.8125-1-jeffrey.t.kirsher@intel.com/mbox/", "series": [ { "id": 129791, "url": "http://patchwork.ozlabs.org/api/series/129791/?format=api", "web_url": "http://patchwork.ozlabs.org/project/intel-wired-lan/list/?series=129791", "date": "2019-09-09T16:55:38", "name": "[v2] i40e: fix potential RX buffer starvation for AF_XDP", "version": 2, "mbox": "http://patchwork.ozlabs.org/series/129791/mbox/" } ], "comments": "http://patchwork.ozlabs.org/api/patches/1159874/comments/", "check": "pending", "checks": "http://patchwork.ozlabs.org/api/patches/1159874/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@bilbo.ozlabs.org", "intel-wired-lan@lists.osuosl.org" ], "Authentication-Results": [ "ozlabs.org;\n\tspf=pass (mailfrom) smtp.mailfrom=osuosl.org\n\t(client-ip=140.211.166.137; helo=fraxinus.osuosl.org;\n\tenvelope-from=intel-wired-lan-bounces@osuosl.org;\n\treceiver=<UNKNOWN>)", "ozlabs.org;\n\tdmarc=fail (p=none dis=none) header.from=intel.com" ], "Received": [ "from fraxinus.osuosl.org (smtp4.osuosl.org [140.211.166.137])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256\n\tbits)) (No client certificate requested)\n\tby ozlabs.org (Postfix) with ESMTPS id 46RvTK6gC7z9sNf\n\tfor <incoming@patchwork.ozlabs.org>;\n\tTue, 10 Sep 2019 02:55:44 +1000 (AEST)", "from localhost (localhost [127.0.0.1])\n\tby fraxinus.osuosl.org (Postfix) with ESMTP id B63C5858BA;\n\tMon, 9 Sep 2019 16:55:42 +0000 (UTC)", "from fraxinus.osuosl.org ([127.0.0.1])\n\tby localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024)\n\twith ESMTP id w7p2RlWfD-_K; Mon, 9 Sep 2019 16:55:41 +0000 (UTC)", "from ash.osuosl.org (ash.osuosl.org [140.211.166.34])\n\tby fraxinus.osuosl.org (Postfix) with ESMTP id AE78D85886;\n\tMon, 9 Sep 2019 16:55:41 +0000 (UTC)", "from fraxinus.osuosl.org (smtp4.osuosl.org [140.211.166.137])\n\tby ash.osuosl.org (Postfix) with ESMTP id B72751BF3A7\n\tfor <intel-wired-lan@lists.osuosl.org>;\n\tMon, 9 Sep 2019 16:55:40 +0000 (UTC)", "from localhost (localhost [127.0.0.1])\n\tby fraxinus.osuosl.org (Postfix) with ESMTP id AF3D285886\n\tfor <intel-wired-lan@lists.osuosl.org>;\n\tMon, 9 Sep 2019 16:55:40 +0000 (UTC)", "from fraxinus.osuosl.org ([127.0.0.1])\n\tby localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024)\n\twith ESMTP id XZhQU8Cjka5m for <intel-wired-lan@lists.osuosl.org>;\n\tMon, 9 Sep 2019 16:55:40 +0000 (UTC)", "from mga14.intel.com (mga14.intel.com [192.55.52.115])\n\tby fraxinus.osuosl.org (Postfix) with ESMTPS id 314B885876\n\tfor <intel-wired-lan@lists.osuosl.org>;\n\tMon, 9 Sep 2019 16:55:40 +0000 (UTC)", "from orsmga008.jf.intel.com ([10.7.209.65])\n\tby fmsmga103.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384;\n\t09 Sep 2019 09:55:39 -0700", "from jtkirshe-desk1.jf.intel.com ([134.134.177.96])\n\tby orsmga008.jf.intel.com with ESMTP; 09 Sep 2019 09:55:39 -0700" ], "X-Virus-Scanned": [ "amavisd-new at osuosl.org", "amavisd-new at osuosl.org" ], "X-Greylist": "domain auto-whitelisted by SQLgrey-1.7.6", "X-Amp-Result": "SKIPPED(no attachment in message)", "X-Amp-File-Uploaded": "False", "X-ExtLoop1": "1", "X-IronPort-AV": "E=Sophos;i=\"5.64,486,1559545200\"; d=\"scan'208\";a=\"178406141\"", "From": "Jeff Kirsher <jeffrey.t.kirsher@intel.com>", "To": "intel-wired-lan@lists.osuosl.org", "Date": "Mon, 9 Sep 2019 09:55:38 -0700", "Message-Id": "<20190909165538.8125-1-jeffrey.t.kirsher@intel.com>", "X-Mailer": "git-send-email 2.21.0", "MIME-Version": "1.0", "Subject": "[Intel-wired-lan] [PATCH v2] i40e: fix potential RX buffer\n\tstarvation for AF_XDP", "X-BeenThere": "intel-wired-lan@osuosl.org", "X-Mailman-Version": "2.1.29", "Precedence": "list", "List-Id": "Intel Wired Ethernet Linux Kernel Driver Development\n\t<intel-wired-lan.osuosl.org>", "List-Unsubscribe": "<https://lists.osuosl.org/mailman/options/intel-wired-lan>, \n\t<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\t<mailto:intel-wired-lan-request@osuosl.org?subject=subscribe>", "Cc": "Magnus Karlsson <magnus.karlsson@intel.com>", "Content-Type": "text/plain; charset=\"us-ascii\"", "Content-Transfer-Encoding": "7bit", "Errors-To": "intel-wired-lan-bounces@osuosl.org", "Sender": "\"Intel-wired-lan\" <intel-wired-lan-bounces@osuosl.org>" }, "content": "From: Magnus Karlsson <magnus.karlsson@intel.com>\n\nWhen the RX rings are created they are also populated with buffers\nso that packets can be received. Usually these are kernel buffers,\nbut for AF_XDP in zero-copy mode, these are user-space buffers and\nin this case the application might not have sent down any buffers\nto the driver at this point. And if no buffers are allocated at ring\ncreation time, no packets can be received and no interrupts will be\ngenerated so the NAPI poll function that allocates buffers to the\nrings will never get executed.\n\nTo rectify this, we kick the NAPI context of any queue with an\nattached AF_XDP zero-copy socket in two places in the code. Once\nafter an XDP program has loaded and once after the umem is registered.\nThis take care of both cases: XDP program gets loaded first then AF_XDP\nsocket is created, and the reverse, AF_XDP socket is created first,\nthen XDP program is loaded.\n\nFixes: 0a714186d3c0 (\"i40e: add AF_XDP zero-copy Rx support\")\nSigned-off-by: Magnus Karlsson <magnus.karlsson@intel.com>\n---\n drivers/net/ethernet/intel/i40e/i40e_xsk.c | 5 +++++\n 1 file changed, 5 insertions(+)", "diff": "diff --git a/drivers/net/ethernet/intel/i40e/i40e_xsk.c b/drivers/net/ethernet/intel/i40e/i40e_xsk.c\nindex 0373bc6c7e61..feb5bd54d840 100644\n--- a/drivers/net/ethernet/intel/i40e/i40e_xsk.c\n+++ b/drivers/net/ethernet/intel/i40e/i40e_xsk.c\n@@ -157,6 +157,11 @@ static int i40e_xsk_umem_disable(struct i40e_vsi *vsi, u16 qid)\n \t\terr = i40e_queue_pair_enable(vsi, qid);\n \t\tif (err)\n \t\t\treturn err;\n+\n+\t\t/* Kick start the NAPI context so that receiving will start */\n+\t\terr = i40e_xsk_wakeup(vsi->netdev, qid, XDP_WAKEUP_RX);\n+\t\tif (err)\n+\t\t\treturn err;\n \t}\n \n \treturn 0;\n", "prefixes": [ "v2" ] }