Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/patches/718679/?format=api
{ "id": 718679, "url": "http://patchwork.ozlabs.org/api/patches/718679/?format=api", "web_url": "http://patchwork.ozlabs.org/project/intel-wired-lan/patch/20170123165944.13402.33476.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": "<20170123165944.13402.33476.stgit@localhost.localdomain>", "list_archive_url": null, "date": "2017-01-23T16:59:52", "name": "[next,v3,9/9] igb: Re-add support for build_skb in igb", "commit_ref": null, "pull_url": null, "state": "superseded", "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/20170123165944.13402.33476.stgit@localhost.localdomain/mbox/", "series": [], "comments": "http://patchwork.ozlabs.org/api/patches/718679/comments/", "check": "pending", "checks": "http://patchwork.ozlabs.org/api/patches/718679/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 whitealder.osuosl.org (smtp1.osuosl.org [140.211.166.138])\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 3v6cxT6SBQz9s3T\n\tfor <incoming@patchwork.ozlabs.org>;\n\tTue, 24 Jan 2017 03:59:57 +1100 (AEDT)", "from localhost (localhost [127.0.0.1])\n\tby whitealder.osuosl.org (Postfix) with ESMTP id 6DABA878B6;\n\tMon, 23 Jan 2017 16:59:56 +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 rBLD26ocgQTC; Mon, 23 Jan 2017 16:59:55 +0000 (UTC)", "from ash.osuosl.org (ash.osuosl.org [140.211.166.34])\n\tby whitealder.osuosl.org (Postfix) with ESMTP id A5CA087AEF;\n\tMon, 23 Jan 2017 16:59:55 +0000 (UTC)", "from whitealder.osuosl.org (smtp1.osuosl.org [140.211.166.138])\n\tby ash.osuosl.org (Postfix) with ESMTP id 73AA91C07B7\n\tfor <intel-wired-lan@lists.osuosl.org>;\n\tMon, 23 Jan 2017 16:59:54 +0000 (UTC)", "from localhost (localhost [127.0.0.1])\n\tby whitealder.osuosl.org (Postfix) with ESMTP id 7006487AEF\n\tfor <intel-wired-lan@lists.osuosl.org>;\n\tMon, 23 Jan 2017 16:59:54 +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 Q7H6yCnU8ZVG for <intel-wired-lan@lists.osuosl.org>;\n\tMon, 23 Jan 2017 16:59:54 +0000 (UTC)", "from mail-pf0-f193.google.com (mail-pf0-f193.google.com\n\t[209.85.192.193])\n\tby whitealder.osuosl.org (Postfix) with ESMTPS id F0B4B878B6\n\tfor <intel-wired-lan@lists.osuosl.org>;\n\tMon, 23 Jan 2017 16:59:53 +0000 (UTC)", "by mail-pf0-f193.google.com with SMTP id f144so10358624pfa.2\n\tfor <intel-wired-lan@lists.osuosl.org>;\n\tMon, 23 Jan 2017 08:59:53 -0800 (PST)", "from localhost.localdomain ([2001:470:b:9c3:9e5c:8eff:fe4f:f2d0])\n\tby smtp.gmail.com with ESMTPSA id\n\ta2sm38478792pgn.24.2017.01.23.08.59.52\n\t(version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128);\n\tMon, 23 Jan 2017 08:59:52 -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=\"g6tDaPTI\"; 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=CmeFQyZvd5hId/3MhYHJ5BlOiKKY1Z4xaxLknAZ1lMM=;\n\tb=g6tDaPTI9VjxZ/u1Emf8hnHkJW8fALYH2vMtTB9i6pc+8T+wH8U2Hcomm2JPfXa7lw\n\tUlyQiqaNGJF3cQwNCFN5QsypngecFzLv7fpii0lSVZEmH+0RziVcpNKzh3jRNliyA2cv\n\tk+DitJCev7WbthJI/Xb187FSM/5hKOC5vBL9zFFr/gmI/W65Qhr9hBQS2CTLIZBD1jZz\n\t+x97C4SGQjsyC1WWgBkgsgErAOaDxx8IxCJF4/yook6C9+EuDLUGNRx0P85wdN0YHea9\n\tB0jPO1D+h1CjNBUqPhLt59DhyRiZ9KwvA1+Mps+dhWvw1P/k+xYDEXGKja3UDR0HE8Du\n\tqetQ==", "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=CmeFQyZvd5hId/3MhYHJ5BlOiKKY1Z4xaxLknAZ1lMM=;\n\tb=Y5Tj3yMFfPJ3nNQQLd9aIP2w2N8bzA8NVXL8CJpu+OPcQ3DnbZzjZCMlC76jcDx+FV\n\tF8lkg/x6Cr33ymLdw3ECnDw/zarvlJgLGbnfrxn2YftguWSA6c/R/fQvh8sYDAalAqZC\n\t6YlePS3PkVXnmgGoNybD5Jgq1JEi7Msufj/WbmzlZ3X8uEKRm7VGXAgFbd6ettrFRWHk\n\t7k9EqqGRNgdS1rwHbhydnD79/QXtN0705E6M7a/RO7Qzl3n+mJl5woyDvRH4F6WViEkZ\n\tAXOD+SSffdEveDipR/zJ3OMn2ZLYw6iJFSRSfumlb1Oa0vHHlOvZTEs9bNTJpxhAsDPP\n\t/FMw==", "X-Gm-Message-State": "AIkVDXIpLpj983FEaIpQkUGm+1l7Ca7Ozm47oWc57eM0TV+vtYRKq+C1VWDtwwQb8aBAOw==", "X-Received": "by 10.98.31.18 with SMTP id f18mr33250843pff.36.1485190793492;\n\tMon, 23 Jan 2017 08:59:53 -0800 (PST)", "From": "Alexander Duyck <alexander.duyck@gmail.com>", "To": "intel-wired-lan@lists.osuosl.org, jeffrey.t.kirsher@intel.com", "Date": "Mon, 23 Jan 2017 08:59:52 -0800", "Message-ID": "<20170123165944.13402.33476.stgit@localhost.localdomain>", "In-Reply-To": "<20170123165647.13402.1254.stgit@localhost.localdomain>", "References": "<20170123165647.13402.1254.stgit@localhost.localdomain>", "User-Agent": "StGit/0.17.1-dirty", "MIME-Version": "1.0", "Subject": "[Intel-wired-lan] [next PATCH v3 9/9] 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 dc70ff07a1de..a211abc8999c 100644\n--- a/drivers/net/ethernet/intel/igb/igb_main.c\n+++ b/drivers/net/ethernet/intel/igb/igb_main.c\n@@ -7020,6 +7020,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@@ -7249,6 +7294,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", "v3", "9/9" ] }