Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/patches/711973/?format=api
{ "id": 711973, "url": "http://patchwork.ozlabs.org/api/patches/711973/?format=api", "web_url": "http://patchwork.ozlabs.org/project/intel-wired-lan/patch/20170106160702.1501.76180.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": "<20170106160702.1501.76180.stgit@localhost.localdomain>", "list_archive_url": null, "date": "2017-01-06T16:07:05", "name": "[next,05/11] ixgbe: Make use of order 1 pages and 3K buffers independent of FCoE", "commit_ref": null, "pull_url": null, "state": "superseded", "archived": false, "hash": "da05afd5f1914c60521419992cdb38a24ed725dc", "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/20170106160702.1501.76180.stgit@localhost.localdomain/mbox/", "series": [], "comments": "http://patchwork.ozlabs.org/api/patches/711973/comments/", "check": "pending", "checks": "http://patchwork.ozlabs.org/api/patches/711973/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 3tw8ZQ6rc5z9sfH\n\tfor <incoming@patchwork.ozlabs.org>;\n\tSat, 7 Jan 2017 03:07:10 +1100 (AEDT)", "from localhost (localhost [127.0.0.1])\n\tby whitealder.osuosl.org (Postfix) with ESMTP id 80C7185B56;\n\tFri, 6 Jan 2017 16:07:09 +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 D7Fl9ngA2quu; Fri, 6 Jan 2017 16:07:08 +0000 (UTC)", "from ash.osuosl.org (ash.osuosl.org [140.211.166.34])\n\tby whitealder.osuosl.org (Postfix) with ESMTP id 9B1CC85A4E;\n\tFri, 6 Jan 2017 16:07:08 +0000 (UTC)", "from whitealder.osuosl.org (smtp1.osuosl.org [140.211.166.138])\n\tby ash.osuosl.org (Postfix) with ESMTP id 141811BFA57\n\tfor <intel-wired-lan@lists.osuosl.org>;\n\tFri, 6 Jan 2017 16:07:07 +0000 (UTC)", "from localhost (localhost [127.0.0.1])\n\tby whitealder.osuosl.org (Postfix) with ESMTP id 0CEA185A4E\n\tfor <intel-wired-lan@lists.osuosl.org>;\n\tFri, 6 Jan 2017 16:07:07 +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 kR6woE1JV00z for <intel-wired-lan@lists.osuosl.org>;\n\tFri, 6 Jan 2017 16:07:06 +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 8EF0D85982\n\tfor <intel-wired-lan@lists.osuosl.org>;\n\tFri, 6 Jan 2017 16:07:06 +0000 (UTC)", "by mail-pf0-f193.google.com with SMTP id y68so30157187pfb.1\n\tfor <intel-wired-lan@lists.osuosl.org>;\n\tFri, 06 Jan 2017 08:07:06 -0800 (PST)", "from localhost.localdomain ([2001:470:b:9c3:9e5c:8eff:fe4f:f2d0])\n\tby smtp.gmail.com with ESMTPSA id\n\tw5sm161119796pfl.31.2017.01.06.08.07.05\n\t(version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128);\n\tFri, 06 Jan 2017 08:07:05 -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=\"cdLp6Qp9\"; 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:cc:date:message-id:in-reply-to:references\n\t:user-agent:mime-version:content-transfer-encoding;\n\tbh=x7P6V6e+Bk8U0CCpXcChAgHl4Ui/EKSUVOuaQ0pt6Bw=;\n\tb=cdLp6Qp9MTIm99+0zzk9a/6fquOS5kKRgFIOFrmq/z7oYR9E3jDmhUEJXS6/dpEbG1\n\tbs3klGz/RHSFm97QTZSxbk5mx4/HrqfROJUA/QSYJP/gWMUO05ON/YP0CXREAuwz0Xzq\n\tC4DKyFTmGyRzzA17uaYrRLCoMCS6gTRStP0UkIaoC5NXRjDZZ4Dw422etArfZXaWv8vT\n\thuygdFAcpzaKS/L6Zy8jUFsDUGXayn/7rwz40ZuD0VNC5NDB4Iiiu09hEbeQbt8om84x\n\tMa1B4+AgiuCoenfxHDIsDaK6IZ0BwvVDEsFN+ZzwUPwDsFyS8Z801aVdSYvu8mbuzdsi\n\tTBqQ==", "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:cc:date:message-id:in-reply-to\n\t:references:user-agent:mime-version:content-transfer-encoding;\n\tbh=x7P6V6e+Bk8U0CCpXcChAgHl4Ui/EKSUVOuaQ0pt6Bw=;\n\tb=qpWq2Gy7IFR/r3mzniiO00u4Vhmr7RNxP3o2US2iGsCTqDkYoBu8B82T4lEiLLaJX/\n\tvfEqQtyCSTakS8fEI/R4zBmtcJp+pvqc6ybG5XNQZqflrKKrv+VBQx3AqVC29/5C0IB2\n\tF9RqhEbnGH1qTRss69N2kLxozL2xdz0eWi3giiTtTMphqM9we0aeiTKNSXHj021Cgvru\n\tisL+Yss8n7Ufh2kafrEBCYXsSeOkm2nKEZiJRrD4YSNpaJrHs1KeRqL3tJbVbK2rvmSw\n\tzwDYYcJ/IeUwx2Giw5WTDZ6aOeszWcs3ZuEZUBDu4Nt4fNpiMoB75E0QukBHDmg3C10A\n\tYHwA==", "X-Gm-Message-State": "AIkVDXJZ6fHCV+wv5tZt2b+N4Mi6cQoHsNl8H8UhqkSbw1cSCvxP2zqSfo2rt36B6nG2CQ==", "X-Received": "by 10.98.36.4 with SMTP id r4mr69889959pfj.88.1483718826182;\n\tFri, 06 Jan 2017 08:07:06 -0800 (PST)", "From": "Alexander Duyck <alexander.duyck@gmail.com>", "To": "intel-wired-lan@lists.osuosl.org, jeffrey.t.kirsher@intel.com", "Date": "Fri, 06 Jan 2017 08:07:05 -0800", "Message-ID": "<20170106160702.1501.76180.stgit@localhost.localdomain>", "In-Reply-To": "<20170106155448.1501.31298.stgit@localhost.localdomain>", "References": "<20170106155448.1501.31298.stgit@localhost.localdomain>", "User-Agent": "StGit/0.17.1-dirty", "MIME-Version": "1.0", "Cc": "netdev@vger.kernel.org", "Subject": "[Intel-wired-lan] [next PATCH 05/11] ixgbe: Make use of order 1\n\tpages and 3K buffers independent of FCoE", "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\nIn order to support build_skb with jumbo frames it will be necessary to use\n3K buffers for the Rx path with 8K pages backing them. This is needed on\narchitectures that implement 4K pages because we can't support 2K buffers\nplus padding in a 4K page.\n\nIn the case of systems that support page sizes larger than 4K the 3K\nattribute will only be applied to FCoE as we can fall back to using just 2K\nbuffers and adding the padding.\n\nSigned-off-by: Alexander Duyck <alexander.h.duyck@intel.com>\n---\n drivers/net/ethernet/intel/ixgbe/ixgbe.h | 20 +++++++++-----------\n drivers/net/ethernet/intel/ixgbe/ixgbe_main.c | 19 +++++++++++++------\n 2 files changed, 22 insertions(+), 17 deletions(-)", "diff": "diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe.h b/drivers/net/ethernet/intel/ixgbe/ixgbe.h\nindex 717c65b0deb2..80328e657d6a 100644\n--- a/drivers/net/ethernet/intel/ixgbe/ixgbe.h\n+++ b/drivers/net/ethernet/intel/ixgbe/ixgbe.h\n@@ -234,13 +234,14 @@ struct ixgbe_rx_queue_stats {\n #define IXGBE_TS_HDR_LEN 8\n \n enum ixgbe_ring_state_t {\n+\t__IXGBE_RX_3K_BUFFER,\n+\t__IXGBE_RX_RSC_ENABLED,\n+\t__IXGBE_RX_CSUM_UDP_ZERO_ERR,\n+\t__IXGBE_RX_FCOE,\n \t__IXGBE_TX_FDIR_INIT_DONE,\n \t__IXGBE_TX_XPS_INIT_DONE,\n \t__IXGBE_TX_DETECT_HANG,\n \t__IXGBE_HANG_CHECK_ARMED,\n-\t__IXGBE_RX_RSC_ENABLED,\n-\t__IXGBE_RX_CSUM_UDP_ZERO_ERR,\n-\t__IXGBE_RX_FCOE,\n };\n \n struct ixgbe_fwd_adapter {\n@@ -352,19 +353,16 @@ struct ixgbe_ring_feature {\n */\n static inline unsigned int ixgbe_rx_bufsz(struct ixgbe_ring *ring)\n {\n-#ifdef IXGBE_FCOE\n-\tif (test_bit(__IXGBE_RX_FCOE, &ring->state))\n-\t\treturn (PAGE_SIZE < 8192) ? IXGBE_RXBUFFER_4K :\n-\t\t\t\t\t IXGBE_RXBUFFER_3K;\n-#endif\n+\tif (test_bit(__IXGBE_RX_3K_BUFFER, &ring->state))\n+\t\treturn IXGBE_RXBUFFER_3K;\n \treturn IXGBE_RXBUFFER_2K;\n }\n \n static inline unsigned int ixgbe_rx_pg_order(struct ixgbe_ring *ring)\n {\n-#ifdef IXGBE_FCOE\n-\tif (test_bit(__IXGBE_RX_FCOE, &ring->state))\n-\t\treturn (PAGE_SIZE < 8192) ? 1 : 0;\n+#if (PAGE_SIZE < 8192)\n+\tif (test_bit(__IXGBE_RX_3K_BUFFER, &ring->state))\n+\t\treturn 1;\n #endif\n \treturn 0;\n }\ndiff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c b/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c\nindex 519b6a2b65c1..1b6f1f584044 100644\n--- a/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c\n+++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c\n@@ -1617,6 +1617,7 @@ void ixgbe_alloc_rx_buffers(struct ixgbe_ring *rx_ring, u16 cleaned_count)\n \tunion ixgbe_adv_rx_desc *rx_desc;\n \tstruct ixgbe_rx_buffer *bi;\n \tu16 i = rx_ring->next_to_use;\n+\tu16 bufsz;\n \n \t/* nothing to do */\n \tif (!cleaned_count)\n@@ -1626,14 +1627,15 @@ void ixgbe_alloc_rx_buffers(struct ixgbe_ring *rx_ring, u16 cleaned_count)\n \tbi = &rx_ring->rx_buffer_info[i];\n \ti -= rx_ring->count;\n \n+\tbufsz = ixgbe_rx_bufsz(rx_ring);\n+\n \tdo {\n \t\tif (!ixgbe_alloc_mapped_page(rx_ring, bi))\n \t\t\tbreak;\n \n \t\t/* sync the buffer for use by the device */\n \t\tdma_sync_single_range_for_device(rx_ring->dev, bi->dma,\n-\t\t\t\t\t\t bi->page_offset,\n-\t\t\t\t\t\t ixgbe_rx_bufsz(rx_ring),\n+\t\t\t\t\t\t bi->page_offset, bufsz,\n \t\t\t\t\t\t DMA_FROM_DEVICE);\n \n \t\t/*\n@@ -2016,9 +2018,9 @@ static bool ixgbe_add_rx_frag(struct ixgbe_ring *rx_ring,\n \tstruct page *page = rx_buffer->page;\n \tunsigned char *va = page_address(page) + rx_buffer->page_offset;\n #if (PAGE_SIZE < 8192)\n-\tunsigned int truesize = ixgbe_rx_bufsz(rx_ring);\n+\tunsigned int truesize = ixgbe_rx_pg_size(rx_ring) / 2;\n #else\n-\tunsigned int truesize = ALIGN(size, L1_CACHE_BYTES);\n+\tunsigned int truesize = SKB_DATA_ALIGN(size);\n #endif\n \n \tif (unlikely(skb_is_nonlinear(skb)))\n@@ -3917,10 +3919,15 @@ static void ixgbe_set_rx_buffer_len(struct ixgbe_adapter *adapter)\n \t */\n \tfor (i = 0; i < adapter->num_rx_queues; i++) {\n \t\trx_ring = adapter->rx_ring[i];\n+\n+\t\tclear_ring_rsc_enabled(rx_ring);\n+\t\tclear_bit(__IXGBE_RX_3K_BUFFER, &rx_ring->state);\n+\n \t\tif (adapter->flags2 & IXGBE_FLAG2_RSC_ENABLED)\n \t\t\tset_ring_rsc_enabled(rx_ring);\n-\t\telse\n-\t\t\tclear_ring_rsc_enabled(rx_ring);\n+\n+\t\tif (test_bit(__IXGBE_RX_FCOE, &rx_ring->state))\n+\t\t\tset_bit(__IXGBE_RX_3K_BUFFER, &rx_ring->state);\n \t}\n }\n \n", "prefixes": [ "next", "05/11" ] }