get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

GET /api/patches/716296/?format=api
HTTP 200 OK
Allow: GET, PUT, PATCH, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "id": 716296,
    "url": "http://patchwork.ozlabs.org/api/patches/716296/?format=api",
    "web_url": "http://patchwork.ozlabs.org/project/intel-wired-lan/patch/20170117163609.5423.56603.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": "<20170117163609.5423.56603.stgit@localhost.localdomain>",
    "list_archive_url": null,
    "date": "2017-01-17T16:36:14",
    "name": "[next,v2,05/11] ixgbe: Make use of order 1 pages and 3K buffers independent of FCoE",
    "commit_ref": null,
    "pull_url": null,
    "state": "accepted",
    "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/20170117163609.5423.56603.stgit@localhost.localdomain/mbox/",
    "series": [],
    "comments": "http://patchwork.ozlabs.org/api/patches/716296/comments/",
    "check": "pending",
    "checks": "http://patchwork.ozlabs.org/api/patches/716296/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 3v2whz5Mv5z9ryk\n\tfor <incoming@patchwork.ozlabs.org>;\n\tWed, 18 Jan 2017 03:36:19 +1100 (AEDT)",
            "from localhost (localhost [127.0.0.1])\n\tby whitealder.osuosl.org (Postfix) with ESMTP id 4BACE89399;\n\tTue, 17 Jan 2017 16:36:18 +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 NVkdt53fjPxy; Tue, 17 Jan 2017 16:36:17 +0000 (UTC)",
            "from ash.osuosl.org (ash.osuosl.org [140.211.166.34])\n\tby whitealder.osuosl.org (Postfix) with ESMTP id 6D8C889173;\n\tTue, 17 Jan 2017 16:36:17 +0000 (UTC)",
            "from silver.osuosl.org (smtp3.osuosl.org [140.211.166.136])\n\tby ash.osuosl.org (Postfix) with ESMTP id 159BD1C0306\n\tfor <intel-wired-lan@lists.osuosl.org>;\n\tTue, 17 Jan 2017 16:36:16 +0000 (UTC)",
            "from localhost (localhost [127.0.0.1])\n\tby silver.osuosl.org (Postfix) with ESMTP id 1013130234\n\tfor <intel-wired-lan@lists.osuosl.org>;\n\tTue, 17 Jan 2017 16:36:16 +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 f8OmBigLk5Ns for <intel-wired-lan@lists.osuosl.org>;\n\tTue, 17 Jan 2017 16:36:15 +0000 (UTC)",
            "from mail-pg0-f67.google.com (mail-pg0-f67.google.com\n\t[74.125.83.67])\n\tby silver.osuosl.org (Postfix) with ESMTPS id 6450C22E28\n\tfor <intel-wired-lan@lists.osuosl.org>;\n\tTue, 17 Jan 2017 16:36:15 +0000 (UTC)",
            "by mail-pg0-f67.google.com with SMTP id 75so8412971pgf.3\n\tfor <intel-wired-lan@lists.osuosl.org>;\n\tTue, 17 Jan 2017 08:36:15 -0800 (PST)",
            "from localhost.localdomain ([2001:470:b:9c3:9e5c:8eff:fe4f:f2d0])\n\tby smtp.gmail.com with ESMTPSA id\n\ti86sm56999492pfj.87.2017.01.17.08.36.14\n\t(version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128);\n\tTue, 17 Jan 2017 08:36:14 -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=\"CV0XGyIO\"; 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=z+FS3dMH9cQAwNfefZAntyp5QBuj/S/VX51iMftYemg=;\n\tb=CV0XGyIO175HLL6OSeQye7nVJsMOW+OwBNP8BdKexNpHNzMAQCObHJbifZHVbSJPKD\n\t74kI2isnPP6QG2HmP32Q9QpfA74sX7b1vIz4qQtRT5LVMlFURCzRo+4HPs28uaU/q0k6\n\twn9z6RjJKDoe8rK/lfDjSaWMguyT/vp0uHbWytKrA7UR3J5vqnQry9hrrgFriZvbkSWD\n\tY00ZLeyNdQrHl8KXRf6Bqu951Is6MvRtm7CVG6xPZdyiQRUdaPO/uHzIun1WwOfROeDk\n\t9Ht2D9Tm7d4b49igpjBToOB+YBC/4oaxfCH8nQWh5IqOGC6/AqkXIxY24whXGJTQlTue\n\tCwow==",
        "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=z+FS3dMH9cQAwNfefZAntyp5QBuj/S/VX51iMftYemg=;\n\tb=rSNVsnKMFKghBKDm4pyUOETDzer40PywOXrb+ZhPvdJX1JYCYIB34kRdq7U4CcXN87\n\tUb7ciyU5Dn8dnUlA6JiToyEE/pjCavFcgR+W0dWrQw423D5m6qVUv+JSrg+QIUGdDnpg\n\twc6Bbt4k3wOofoeKVYawPEMcQI4qt3bdmhrqd7U/wODHL4i4L+VXg1RbDRP8mucxW+Tl\n\tI40fRErnWoZAPpbJWAOeZb2wbvDt0XSVbTvNY8aOkxvc3Z8bJIcr0A+uYRvb99wrh4hC\n\t+IWhgsD0bK63Amdksa3gZ3aM8xZxyEIMNOqefSqzMKi5yUG6gLT/+xK2H3C7TgNsw7C6\n\tu6Sg==",
        "X-Gm-Message-State": "AIkVDXI76tXpSeXFL1dW50CjRgyHh1eCkkFygPNwn9fKxhbkYCHtQ5vtXRQzZ5eBVMrbLg==",
        "X-Received": "by 10.84.216.86 with SMTP id f22mr60129368plj.117.1484670975091; \n\tTue, 17 Jan 2017 08:36:15 -0800 (PST)",
        "From": "Alexander Duyck <alexander.duyck@gmail.com>",
        "To": "intel-wired-lan@lists.osuosl.org, jeffrey.t.kirsher@intel.com",
        "Date": "Tue, 17 Jan 2017 08:36:14 -0800",
        "Message-ID": "<20170117163609.5423.56603.stgit@localhost.localdomain>",
        "In-Reply-To": "<20170117163401.5423.37993.stgit@localhost.localdomain>",
        "References": "<20170117163401.5423.37993.stgit@localhost.localdomain>",
        "User-Agent": "StGit/0.17.1-dirty",
        "MIME-Version": "1.0",
        "Subject": "[Intel-wired-lan] [next PATCH v2 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 34a5271a7b35..5e210fb71366 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@@ -2017,9 +2019,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@@ -3918,10 +3920,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",
        "v2",
        "05/11"
    ]
}