Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/patches/1229965/?format=api
{ "id": 1229965, "url": "http://patchwork.ozlabs.org/api/patches/1229965/?format=api", "web_url": "http://patchwork.ozlabs.org/project/intel-wired-lan/patch/20200127085927.13999-8-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": "<20200127085927.13999-8-anthony.l.nguyen@intel.com>", "list_archive_url": null, "date": "2020-01-27T08:59:20", "name": "[S39,08/15] ice: Support XDP UMEM wake up mechanism", "commit_ref": null, "pull_url": null, "state": "superseded", "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/20200127085927.13999-8-anthony.l.nguyen@intel.com/mbox/", "series": [ { "id": 155506, "url": "http://patchwork.ozlabs.org/api/series/155506/?format=api", "web_url": "http://patchwork.ozlabs.org/project/intel-wired-lan/list/?series=155506", "date": "2020-01-27T08:59:25", "name": "[S39,01/15] ice: Validate config for SW DCB map", "version": 1, "mbox": "http://patchwork.ozlabs.org/series/155506/mbox/" } ], "comments": "http://patchwork.ozlabs.org/api/patches/1229965/comments/", "check": "pending", "checks": "http://patchwork.ozlabs.org/api/patches/1229965/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 485xdk5KG7z9sR0\n\tfor <incoming@patchwork.ozlabs.org>;\n\tTue, 28 Jan 2020 04:32:26 +1100 (AEDT)", "from localhost (localhost [127.0.0.1])\n\tby whitealder.osuosl.org (Postfix) with ESMTP id 4C16186457;\n\tMon, 27 Jan 2020 17:32:25 +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 8EUJHvLzD3Jp; Mon, 27 Jan 2020 17:32:24 +0000 (UTC)", "from ash.osuosl.org (ash.osuosl.org [140.211.166.34])\n\tby whitealder.osuosl.org (Postfix) with ESMTP id 039108641F;\n\tMon, 27 Jan 2020 17:32:24 +0000 (UTC)", "from fraxinus.osuosl.org (smtp4.osuosl.org [140.211.166.137])\n\tby ash.osuosl.org (Postfix) with ESMTP id 24C9E1BF283\n\tfor <intel-wired-lan@lists.osuosl.org>;\n\tMon, 27 Jan 2020 17:32:20 +0000 (UTC)", "from localhost (localhost [127.0.0.1])\n\tby fraxinus.osuosl.org (Postfix) with ESMTP id 21DBA85124\n\tfor <intel-wired-lan@lists.osuosl.org>;\n\tMon, 27 Jan 2020 17:32:20 +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 9Khf0gdN_SnX for <intel-wired-lan@lists.osuosl.org>;\n\tMon, 27 Jan 2020 17:32:17 +0000 (UTC)", "from mga11.intel.com (mga11.intel.com [192.55.52.93])\n\tby fraxinus.osuosl.org (Postfix) with ESMTPS id 51CE48484C\n\tfor <intel-wired-lan@lists.osuosl.org>;\n\tMon, 27 Jan 2020 17:32:17 +0000 (UTC)", "from fmsmga005.fm.intel.com ([10.253.24.32])\n\tby fmsmga102.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384;\n\t27 Jan 2020 09:32:10 -0800", "from unknown (HELO localhost.jf.intel.com) ([10.166.244.174])\n\tby fmsmga005.fm.intel.com with ESMTP; 27 Jan 2020 09:32:09 -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,370,1574150400\"; d=\"scan'208\";a=\"427350652\"", "From": "Tony Nguyen <anthony.l.nguyen@intel.com>", "To": "intel-wired-lan@lists.osuosl.org", "Date": "Mon, 27 Jan 2020 00:59:20 -0800", "Message-Id": "<20200127085927.13999-8-anthony.l.nguyen@intel.com>", "X-Mailer": "git-send-email 2.20.1", "In-Reply-To": "<20200127085927.13999-1-anthony.l.nguyen@intel.com>", "References": "<20200127085927.13999-1-anthony.l.nguyen@intel.com>", "MIME-Version": "1.0", "Subject": "[Intel-wired-lan] [PATCH S39 08/15] ice: Support XDP UMEM wake up\n\tmechanism", "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", "08/15" ] }