Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/patches/1237764/?format=api
{ "id": 1237764, "url": "http://patchwork.ozlabs.org/api/patches/1237764/?format=api", "web_url": "http://patchwork.ozlabs.org/project/intel-wired-lan/patch/20200213213129.34023-7-anthony.l.nguyen@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": "<20200213213129.34023-7-anthony.l.nguyen@intel.com>", "list_archive_url": null, "date": "2020-02-13T21:31:22", "name": "[S39,v2,08/15] ice: Support XDP UMEM wake up mechanism", "commit_ref": null, "pull_url": null, "state": "accepted", "archived": false, "hash": "9c4006e3e44d526d2a523657aba9ed02df58cf0e", "submitter": { "id": 68875, "url": "http://patchwork.ozlabs.org/api/people/68875/?format=api", "name": "Tony Nguyen", "email": "anthony.l.nguyen@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/20200213213129.34023-7-anthony.l.nguyen@intel.com/mbox/", "series": [ { "id": 158447, "url": "http://patchwork.ozlabs.org/api/series/158447/?format=api", "web_url": "http://patchwork.ozlabs.org/project/intel-wired-lan/list/?series=158447", "date": "2020-02-13T21:30:59", "name": "[S39,v2,01/15] ice: Validate config for SW DCB map", "version": 2, "mbox": "http://patchwork.ozlabs.org/series/158447/mbox/" } ], "comments": "http://patchwork.ozlabs.org/api/patches/1237764/comments/", "check": "pending", "checks": "http://patchwork.ozlabs.org/api/patches/1237764/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; spf=pass (sender SPF authorized)\n\tsmtp.mailfrom=osuosl.org (client-ip=140.211.166.138;\n\thelo=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 48JV8P5Lw8z9sPk\n\tfor <incoming@patchwork.ozlabs.org>;\n\tFri, 14 Feb 2020 08:32:05 +1100 (AEDT)", "from localhost (localhost [127.0.0.1])\n\tby whitealder.osuosl.org (Postfix) with ESMTP id 4A98487487;\n\tThu, 13 Feb 2020 21:32:04 +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 n01u7m6x1Df4; Thu, 13 Feb 2020 21:32:02 +0000 (UTC)", "from ash.osuosl.org (ash.osuosl.org [140.211.166.34])\n\tby whitealder.osuosl.org (Postfix) with ESMTP id 0818E8732C;\n\tThu, 13 Feb 2020 21:32:02 +0000 (UTC)", "from silver.osuosl.org (smtp3.osuosl.org [140.211.166.136])\n\tby ash.osuosl.org (Postfix) with ESMTP id 39E821BF338\n\tfor <intel-wired-lan@lists.osuosl.org>;\n\tThu, 13 Feb 2020 21:31:55 +0000 (UTC)", "from localhost (localhost [127.0.0.1])\n\tby silver.osuosl.org (Postfix) with ESMTP id 374D321561\n\tfor <intel-wired-lan@lists.osuosl.org>;\n\tThu, 13 Feb 2020 21:31:55 +0000 (UTC)", "from silver.osuosl.org ([127.0.0.1])\n\tby localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024)\n\twith ESMTP id mIz38oB98g4L for <intel-wired-lan@lists.osuosl.org>;\n\tThu, 13 Feb 2020 21:31:54 +0000 (UTC)", "from mga06.intel.com (mga06.intel.com [134.134.136.31])\n\tby silver.osuosl.org (Postfix) with ESMTPS id 20826203F0\n\tfor <intel-wired-lan@lists.osuosl.org>;\n\tThu, 13 Feb 2020 21:31:54 +0000 (UTC)", "from orsmga008.jf.intel.com ([10.7.209.65])\n\tby orsmga104.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384;\n\t13 Feb 2020 13:31:51 -0800", "from unknown (HELO localhost.jf.intel.com) ([10.166.244.174])\n\tby orsmga008.jf.intel.com with ESMTP; 13 Feb 2020 13:31:51 -0800" ], "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.70,438,1574150400\"; d=\"scan'208\";a=\"227382411\"", "From": "Tony Nguyen <anthony.l.nguyen@intel.com>", "To": "intel-wired-lan@lists.osuosl.org", "Date": "Thu, 13 Feb 2020 13:31:22 -0800", "Message-Id": "<20200213213129.34023-7-anthony.l.nguyen@intel.com>", "X-Mailer": "git-send-email 2.20.1", "In-Reply-To": "<20200213213129.34023-1-anthony.l.nguyen@intel.com>", "References": "<20200213213129.34023-1-anthony.l.nguyen@intel.com>", "MIME-Version": "1.0", "Subject": "[Intel-wired-lan] [PATCH S39 v2 08/15] ice: Support XDP UMEM wake\n\tup mechanism", "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>", "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: Krzysztof Kazimierczak <krzysztof.kazimierczak@intel.com>\n\nAdd support for a new AF_XDP feature that has already been introduced in\nupstreamed Intel NIC drivers. If a user space application signals that\nit might sleep using the new bind flag XDP_USE_NEED_WAKEUP, the driver\nwill then set this flag if it has no more buffers on the NIC Rx ring and\nyield to the application. For Tx, it will set the flag if it has no\noutstanding Tx completion interrupts and return to the application.\n\nSigned-off-by: Krzysztof Kazimierczak <krzysztof.kazimierczak@intel.com>\n---\n drivers/net/ethernet/intel/ice/ice_xsk.c | 18 ++++++++++++++++++\n 1 file changed, 18 insertions(+)", "diff": "diff --git a/drivers/net/ethernet/intel/ice/ice_xsk.c b/drivers/net/ethernet/intel/ice/ice_xsk.c\nindex 55d994f2d71e..3fd31ad73e0e 100644\n--- a/drivers/net/ethernet/intel/ice/ice_xsk.c\n+++ b/drivers/net/ethernet/intel/ice/ice_xsk.c\n@@ -937,6 +937,15 @@ int ice_clean_rx_irq_zc(struct ice_ring *rx_ring, int budget)\n \tice_finalize_xdp_rx(rx_ring, xdp_xmit);\n \tice_update_rx_ring_stats(rx_ring, total_rx_packets, total_rx_bytes);\n \n+\tif (xsk_umem_uses_need_wakeup(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+\n \treturn failure ? budget : (int)total_rx_packets;\n }\n \n@@ -988,6 +997,8 @@ static bool ice_xmit_zc(struct ice_ring *xdp_ring, int budget)\n \tif (tx_desc) {\n \t\tice_xdp_ring_update_tail(xdp_ring);\n \t\txsk_umem_consume_tx_done(xdp_ring->xsk_umem);\n+\t\tif (xsk_umem_uses_need_wakeup(xdp_ring->xsk_umem))\n+\t\t\txsk_clear_tx_need_wakeup(xdp_ring->xsk_umem);\n \t}\n \n \treturn budget > 0 && work_done;\n@@ -1063,6 +1074,13 @@ bool ice_clean_tx_irq_zc(struct ice_ring *xdp_ring, int budget)\n \tif (xsk_frames)\n \t\txsk_umem_complete_tx(xdp_ring->xsk_umem, xsk_frames);\n \n+\tif (xsk_umem_uses_need_wakeup(xdp_ring->xsk_umem)) {\n+\t\tif (xdp_ring->next_to_clean == xdp_ring->next_to_use)\n+\t\t\txsk_set_tx_need_wakeup(xdp_ring->xsk_umem);\n+\t\telse\n+\t\t\txsk_clear_tx_need_wakeup(xdp_ring->xsk_umem);\n+\t}\n+\n \tice_update_tx_ring_stats(xdp_ring, total_packets, total_bytes);\n \txmit_done = ice_xmit_zc(xdp_ring, ICE_DFLT_IRQ_WORK);\n \n", "prefixes": [ "S39", "v2", "08/15" ] }