Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/patches/1115490/?format=api
{ "id": 1115490, "url": "http://patchwork.ozlabs.org/api/patches/1115490/?format=api", "web_url": "http://patchwork.ozlabs.org/project/intel-wired-lan/patch/1560411450-29121-4-git-send-email-magnus.karlsson@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": "<1560411450-29121-4-git-send-email-magnus.karlsson@intel.com>", "list_archive_url": null, "date": "2019-06-13T07:37:27", "name": "[bpf-next,3/6] i40e: add support for AF_XDP need_wakup feature", "commit_ref": null, "pull_url": null, "state": "awaiting-upstream", "archived": false, "hash": "a6d4c461144f765e53363e30503007854d73d09f", "submitter": { "id": 72726, "url": "http://patchwork.ozlabs.org/api/people/72726/?format=api", "name": "Magnus Karlsson", "email": "magnus.karlsson@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/1560411450-29121-4-git-send-email-magnus.karlsson@intel.com/mbox/", "series": [ { "id": 113704, "url": "http://patchwork.ozlabs.org/api/series/113704/?format=api", "web_url": "http://patchwork.ozlabs.org/project/intel-wired-lan/list/?series=113704", "date": "2019-06-13T07:37:25", "name": "add need_wakeup flag to the AF_XDP rings", "version": 1, "mbox": "http://patchwork.ozlabs.org/series/113704/mbox/" } ], "comments": "http://patchwork.ozlabs.org/api/patches/1115490/comments/", "check": "pending", "checks": "http://patchwork.ozlabs.org/api/patches/1115490/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.138; helo=whitealder.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 whitealder.osuosl.org (smtp1.osuosl.org [140.211.166.138])\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 45PrF269Cfz9s5c\n\tfor <incoming@patchwork.ozlabs.org>;\n\tFri, 14 Jun 2019 03:23:50 +1000 (AEST)", "from localhost (localhost [127.0.0.1])\n\tby whitealder.osuosl.org (Postfix) with ESMTP id 1CAB08781D;\n\tThu, 13 Jun 2019 17:23:49 +0000 (UTC)", "from whitealder.osuosl.org ([127.0.0.1])\n\tby localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024)\n\twith ESMTP id CtsPYwmQT6Mn; Thu, 13 Jun 2019 17:23:47 +0000 (UTC)", "from ash.osuosl.org (ash.osuosl.org [140.211.166.34])\n\tby whitealder.osuosl.org (Postfix) with ESMTP id B4FB387801;\n\tThu, 13 Jun 2019 17:23:44 +0000 (UTC)", "from hemlock.osuosl.org (smtp2.osuosl.org [140.211.166.133])\n\tby ash.osuosl.org (Postfix) with ESMTP id 4E2D71BF363\n\tfor <intel-wired-lan@lists.osuosl.org>;\n\tThu, 13 Jun 2019 07:37:55 +0000 (UTC)", "from localhost (localhost [127.0.0.1])\n\tby hemlock.osuosl.org (Postfix) with ESMTP id 4B8E187E81\n\tfor <intel-wired-lan@lists.osuosl.org>;\n\tThu, 13 Jun 2019 07:37:55 +0000 (UTC)", "from hemlock.osuosl.org ([127.0.0.1])\n\tby localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024)\n\twith ESMTP id C93CRQc0-Cmm for <intel-wired-lan@lists.osuosl.org>;\n\tThu, 13 Jun 2019 07:37:54 +0000 (UTC)", "from mga11.intel.com (mga11.intel.com [192.55.52.93])\n\tby hemlock.osuosl.org (Postfix) with ESMTPS id DB09485EE8\n\tfor <intel-wired-lan@lists.osuosl.org>;\n\tThu, 13 Jun 2019 07:37:54 +0000 (UTC)", "from orsmga004.jf.intel.com ([10.7.209.38])\n\tby fmsmga102.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384;\n\t13 Jun 2019 00:37:54 -0700", "from mkarlsso-mobl.ger.corp.intel.com (HELO VM.ger.corp.intel.com)\n\t([10.103.211.41])\n\tby orsmga004.jf.intel.com with ESMTP; 13 Jun 2019 00:37:49 -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", "From": "Magnus Karlsson <magnus.karlsson@intel.com>", "To": "magnus.karlsson@intel.com, bjorn.topel@intel.com, ast@kernel.org,\n\tdaniel@iogearbox.net, netdev@vger.kernel.org, brouer@redhat.com", "Date": "Thu, 13 Jun 2019 09:37:27 +0200", "Message-Id": "<1560411450-29121-4-git-send-email-magnus.karlsson@intel.com>", "X-Mailer": "git-send-email 2.7.4", "In-Reply-To": "<1560411450-29121-1-git-send-email-magnus.karlsson@intel.com>", "References": "<1560411450-29121-1-git-send-email-magnus.karlsson@intel.com>", "X-Mailman-Approved-At": "Thu, 13 Jun 2019 17:23:43 +0000", "Subject": "[Intel-wired-lan] [PATCH bpf-next 3/6] i40e: add support for AF_XDP\n\tneed_wakup feature", "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": "axboe@kernel.dk, maximmi@mellanox.com, kevin.laatz@intel.com,\n\tjakub.kicinski@netronome.com, maciejromanfijalkowski@gmail.com,\n\tbruce.richardson@intel.com, ciara.loftus@intel.com,\n\tilias.apalodimas@linaro.org, xiaolong.ye@intel.com,\n\tintel-wired-lan@lists.osuosl.org, qi.z.zhang@intel.com,\n\tmaciej.fijalkowski@intel.com, bpf@vger.kernel.org", "MIME-Version": "1.0", "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": "This patch adds support for the need_wakeup feature of AF_XDP. If the\napplication has told the kernel that it might sleep using the new bind\nflag XDP_USE_NEED_WAKEUP, the driver will then set this flag if it has\nno more buffers on the NIC Rx ring and yield to the application. For\nTx, it will set the flag if it has no outstanding Tx completion\ninterrupts and return to the application.\n\nSigned-off-by: Magnus Karlsson <magnus.karlsson@intel.com>\n---\n drivers/net/ethernet/intel/i40e/i40e_xsk.c | 16 ++++++++++++++++\n 1 file changed, 16 insertions(+)", "diff": "diff --git a/drivers/net/ethernet/intel/i40e/i40e_xsk.c b/drivers/net/ethernet/intel/i40e/i40e_xsk.c\nindex 32be3dd..1863974 100644\n--- a/drivers/net/ethernet/intel/i40e/i40e_xsk.c\n+++ b/drivers/net/ethernet/intel/i40e/i40e_xsk.c\n@@ -625,6 +625,15 @@ int i40e_clean_rx_irq_zc(struct i40e_ring *rx_ring, int budget)\n \n \ti40e_finalize_xdp_rx(rx_ring, xdp_xmit);\n \ti40e_update_rx_stats(rx_ring, total_rx_bytes, total_rx_packets);\n+\n+\tif (xsk_umem_uses_might_sleep(rx_ring->xsk_umem)) {\n+\t\tif (failure || rx_ring->next_to_clean == rx_ring->next_to_use)\n+\t\t\txsk_set_rx_need_wakeup(rx_ring->xsk_umem);\n+\t\telse\n+\t\t\txsk_clear_rx_need_wakeup(rx_ring->xsk_umem);\n+\n+\t\treturn (int)total_rx_packets;\n+\t}\n \treturn failure ? budget : (int)total_rx_packets;\n }\n \n@@ -758,6 +767,13 @@ bool i40e_clean_xdp_tx_irq(struct i40e_vsi *vsi,\n out_xmit:\n \txmit_done = i40e_xmit_zc(tx_ring, budget);\n \n+\tif (xsk_umem_uses_might_sleep(tx_ring->xsk_umem)) {\n+\t\tif (tx_ring->next_to_clean == tx_ring->next_to_use)\n+\t\t\txsk_set_tx_need_wakeup(tx_ring->xsk_umem);\n+\t\telse\n+\t\t\txsk_clear_tx_need_wakeup(tx_ring->xsk_umem);\n+\t}\n+\n \treturn work_done && xmit_done;\n }\n \n", "prefixes": [ "bpf-next", "3/6" ] }