Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/patches/724873/?format=api
{ "id": 724873, "url": "http://patchwork.ozlabs.org/api/patches/724873/?format=api", "web_url": "http://patchwork.ozlabs.org/project/intel-wired-lan/patch/20170207022732.9864.74558.stgit@localhost.localdomain/", "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": "<20170207022732.9864.74558.stgit@localhost.localdomain>", "list_archive_url": null, "date": "2017-02-07T02:27:36", "name": "[next,v5,12/12] igb: Re-add support for build_skb in igb", "commit_ref": null, "pull_url": null, "state": "accepted", "archived": false, "hash": "5806e1663e1822289b8d2fc98668d0c0b99d6015", "submitter": { "id": 252, "url": "http://patchwork.ozlabs.org/api/people/252/?format=api", "name": "Alexander Duyck", "email": "alexander.duyck@gmail.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/20170207022732.9864.74558.stgit@localhost.localdomain/mbox/", "series": [], "comments": "http://patchwork.ozlabs.org/api/patches/724873/comments/", "check": "pending", "checks": "http://patchwork.ozlabs.org/api/patches/724873/checks/", "tags": {}, "related": [], "headers": { "Return-Path": "<intel-wired-lan-bounces@lists.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" ], "Received": [ "from silver.osuosl.org (smtp3.osuosl.org [140.211.166.136])\n\t(using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits))\n\t(No client certificate requested)\n\tby ozlabs.org (Postfix) with ESMTPS id 3vHSt6659Yz9s2P\n\tfor <incoming@patchwork.ozlabs.org>;\n\tTue, 7 Feb 2017 13:27:42 +1100 (AEDT)", "from localhost (localhost [127.0.0.1])\n\tby silver.osuosl.org (Postfix) with ESMTP id 5745D30A5C;\n\tTue, 7 Feb 2017 02:27:41 +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 RN0p-BRqvWnX; Tue, 7 Feb 2017 02:27:39 +0000 (UTC)", "from ash.osuosl.org (ash.osuosl.org [140.211.166.34])\n\tby silver.osuosl.org (Postfix) with ESMTP id 34F3330A6D;\n\tTue, 7 Feb 2017 02:27:39 +0000 (UTC)", "from whitealder.osuosl.org (smtp1.osuosl.org [140.211.166.138])\n\tby ash.osuosl.org (Postfix) with ESMTP id 6CD7C1BFEC6\n\tfor <intel-wired-lan@lists.osuosl.org>;\n\tTue, 7 Feb 2017 02:27:38 +0000 (UTC)", "from localhost (localhost [127.0.0.1])\n\tby whitealder.osuosl.org (Postfix) with ESMTP id 670EC8548D\n\tfor <intel-wired-lan@lists.osuosl.org>;\n\tTue, 7 Feb 2017 02:27:38 +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 QIbKXjZ99Pyl for <intel-wired-lan@lists.osuosl.org>;\n\tTue, 7 Feb 2017 02:27:37 +0000 (UTC)", "from mail-pg0-f65.google.com (mail-pg0-f65.google.com\n\t[74.125.83.65])\n\tby whitealder.osuosl.org (Postfix) with ESMTPS id C4F6D87DD0\n\tfor <intel-wired-lan@lists.osuosl.org>;\n\tTue, 7 Feb 2017 02:27:37 +0000 (UTC)", "by mail-pg0-f65.google.com with SMTP id 75so10628201pgf.3\n\tfor <intel-wired-lan@lists.osuosl.org>;\n\tMon, 06 Feb 2017 18:27:37 -0800 (PST)", "from localhost.localdomain ([2001:470:b:9c3:9e5c:8eff:fe4f:f2d0])\n\tby smtp.gmail.com with ESMTPSA id\n\t199sm5657733pfu.91.2017.02.06.18.27.36\n\t(version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128);\n\tMon, 06 Feb 2017 18:27:36 -0800 (PST)" ], "Authentication-Results": "ozlabs.org;\n\tdkim=fail reason=\"signature verification failed\" (2048-bit key;\n\tunprotected) header.d=gmail.com header.i=@gmail.com\n\theader.b=\"izOQ/gPw\"; dkim-atps=neutral", "X-Virus-Scanned": [ "amavisd-new at osuosl.org", "amavisd-new at osuosl.org" ], "X-Greylist": "domain auto-whitelisted by SQLgrey-1.7.6", "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;\n\th=subject:from:to:date:message-id:in-reply-to:references:user-agent\n\t:mime-version:content-transfer-encoding;\n\tbh=UINwGSOjRh+SmAy4unFrlIWqSLjq+jiRnUecZmsAtZE=;\n\tb=izOQ/gPwSURFsIdMP+PLYhHIBCwFYhjyeD9dJwshrMNjfvD7oIsHGPPx6Si+14YinG\n\tftpFJCfUsVhiEhO88odnyVkSUocmXVCt4E5lDqa23hSe4EhEiDvh4TRuhFG9gotmzkPb\n\tTaKFzGIWZTTcClyRaCYUcJ+YrwJu2UmcvflAbgOh0FgObyv/58Lru1+769xxwob64Zxv\n\t9zaTlukGaUb2aQa+lPR3wG0t6BHQSwI5hc0dwD6nQ9A5e4qCdVfsVKiHF/KQqEh1nsEg\n\ttArp/zLUbSDvofpQd0KdrysyMJIjzChyFjho6IDMJJR6z1N26PK3XEm3Bh4LOo7BvLjF\n\tfGAg==", "X-Google-DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20161025;\n\th=x-gm-message-state:subject:from:to:date:message-id:in-reply-to\n\t:references:user-agent:mime-version:content-transfer-encoding;\n\tbh=UINwGSOjRh+SmAy4unFrlIWqSLjq+jiRnUecZmsAtZE=;\n\tb=nxSt07hdZN6nZ+me1MwBrj3kjC6KSzhRno8z6Poi2UOH3ZBoHoOhCjVXqR0cPo/83A\n\tMHVUpeOQGr0Nf/ijVgvq7jc+zoIWVMiXTiIKHA+NSEzQ+yJwcUKyevZ47zPiT+RbFyWx\n\t40tX9PxyzznvD+XEQZmUqz7heKH4N87qGU1+4RPCTVi4IICH3IwatOqs6OeZQzuukdl1\n\t1Qa4dpYriBhSN2qHO2ssQXmJsdGMM8ZDPCeibDOi3gZLEMovfqNYhhPMRHuJr18yc9lE\n\tDJAlxynjJL/WN/Mtm/NG+TFD65/zp+YJu5z8/eZNkTvK0oDyofSHpvmREObu5g75d8dw\n\tfBbg==", "X-Gm-Message-State": "AIkVDXK1mDFYm1ylC9mC29VpCmawFppsF8bLWcULgP8ar5GSRewg4ja7PzWW453QCIJ5vw==", "X-Received": "by 10.99.158.2 with SMTP id s2mr17304697pgd.116.1486434457473;\n\tMon, 06 Feb 2017 18:27:37 -0800 (PST)", "From": "Alexander Duyck <alexander.duyck@gmail.com>", "To": "intel-wired-lan@lists.osuosl.org, jeffrey.t.kirsher@intel.com", "Date": "Mon, 06 Feb 2017 18:27:36 -0800", "Message-ID": "<20170207022732.9864.74558.stgit@localhost.localdomain>", "In-Reply-To": "<20170207022339.9864.87863.stgit@localhost.localdomain>", "References": "<20170207022339.9864.87863.stgit@localhost.localdomain>", "User-Agent": "StGit/0.17.1-dirty", "MIME-Version": "1.0", "Subject": "[Intel-wired-lan] [next PATCH v5 12/12] igb: Re-add support for\n\tbuild_skb in igb", "X-BeenThere": "intel-wired-lan@lists.osuosl.org", "X-Mailman-Version": "2.1.18-1", "Precedence": "list", "List-Id": "Intel Wired Ethernet Linux Kernel Driver Development\n\t<intel-wired-lan.lists.osuosl.org>", "List-Unsubscribe": "<http://lists.osuosl.org/mailman/options/intel-wired-lan>, \n\t<mailto:intel-wired-lan-request@lists.osuosl.org?subject=unsubscribe>", "List-Archive": "<http://lists.osuosl.org/pipermail/intel-wired-lan/>", "List-Post": "<mailto:intel-wired-lan@lists.osuosl.org>", "List-Help": "<mailto:intel-wired-lan-request@lists.osuosl.org?subject=help>", "List-Subscribe": "<http://lists.osuosl.org/mailman/listinfo/intel-wired-lan>, \n\t<mailto:intel-wired-lan-request@lists.osuosl.org?subject=subscribe>", "Content-Type": "text/plain; charset=\"us-ascii\"", "Content-Transfer-Encoding": "7bit", "Errors-To": "intel-wired-lan-bounces@lists.osuosl.org", "Sender": "\"Intel-wired-lan\" <intel-wired-lan-bounces@lists.osuosl.org>" }, "content": "From: Alexander Duyck <alexander.h.duyck@intel.com>\n\nThis reverts commit f9d40f6a9921 (\"igb: Revert support for build_skb in\nigb\") and adds a few changes to update it to work with the latest version\nof igb. We are now able to revert the removal of this due to the fact\nthat with the recent changes to the page count and the use of\nDMA_ATTR_SKIP_CPU_SYNC we can make the pages writable so we should not be\ninvalidating the additional data added when we call build_skb.\n\nSigned-off-by: Alexander Duyck <alexander.h.duyck@intel.com>\n---\n drivers/net/ethernet/intel/igb/igb_main.c | 47 +++++++++++++++++++++++++++++\n 1 file changed, 47 insertions(+)", "diff": "diff --git a/drivers/net/ethernet/intel/igb/igb_main.c b/drivers/net/ethernet/intel/igb/igb_main.c\nindex cadf91670061..2796e9a2361e 100644\n--- a/drivers/net/ethernet/intel/igb/igb_main.c\n+++ b/drivers/net/ethernet/intel/igb/igb_main.c\n@@ -7023,6 +7023,51 @@ static struct sk_buff *igb_construct_skb(struct igb_ring *rx_ring,\n \treturn skb;\n }\n \n+static struct sk_buff *igb_build_skb(struct igb_ring *rx_ring,\n+\t\t\t\t struct igb_rx_buffer *rx_buffer,\n+\t\t\t\t union e1000_adv_rx_desc *rx_desc,\n+\t\t\t\t unsigned int size)\n+{\n+\tvoid *va = page_address(rx_buffer->page) + rx_buffer->page_offset;\n+#if (PAGE_SIZE < 8192)\n+\tunsigned int truesize = igb_rx_pg_size(rx_ring) / 2;\n+#else\n+\tunsigned int truesize = SKB_DATA_ALIGN(sizeof(struct skb_shared_info)) +\n+\t\t\t\tSKB_DATA_ALIGN(IGB_SKB_PAD + size);\n+#endif\n+\tstruct sk_buff *skb;\n+\n+\t/* prefetch first cache line of first page */\n+\tprefetch(va);\n+#if L1_CACHE_BYTES < 128\n+\tprefetch(va + L1_CACHE_BYTES);\n+#endif\n+\n+\t/* build an skb to around the page buffer */\n+\tskb = build_skb(va - IGB_SKB_PAD, truesize);\n+\tif (unlikely(!skb))\n+\t\treturn NULL;\n+\n+\t/* update pointers within the skb to store the data */\n+\tskb_reserve(skb, IGB_SKB_PAD);\n+\t__skb_put(skb, size);\n+\n+\t/* pull timestamp out of packet data */\n+\tif (igb_test_staterr(rx_desc, E1000_RXDADV_STAT_TSIP)) {\n+\t\tigb_ptp_rx_pktstamp(rx_ring->q_vector, skb->data, skb);\n+\t\t__skb_pull(skb, IGB_TS_HDR_LEN);\n+\t}\n+\n+\t/* update buffer offset */\n+#if (PAGE_SIZE < 8192)\n+\trx_buffer->page_offset ^= truesize;\n+#else\n+\trx_buffer->page_offset += truesize;\n+#endif\n+\n+\treturn skb;\n+}\n+\n static inline void igb_rx_checksum(struct igb_ring *ring,\n \t\t\t\t union e1000_adv_rx_desc *rx_desc,\n \t\t\t\t struct sk_buff *skb)\n@@ -7252,6 +7297,8 @@ static int igb_clean_rx_irq(struct igb_q_vector *q_vector, const int budget)\n \t\t/* retrieve a buffer from the ring */\n \t\tif (skb)\n \t\t\tigb_add_rx_frag(rx_ring, rx_buffer, skb, size);\n+\t\telse if (ring_uses_build_skb(rx_ring))\n+\t\t\tskb = igb_build_skb(rx_ring, rx_buffer, rx_desc, size);\n \t\telse\n \t\t\tskb = igb_construct_skb(rx_ring, rx_buffer,\n \t\t\t\t\t\trx_desc, size);\n", "prefixes": [ "next", "v5", "12/12" ] }