get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 723833,
    "url": "http://patchwork.ozlabs.org/api/patches/723833/?format=api",
    "web_url": "http://patchwork.ozlabs.org/project/intel-wired-lan/patch/20170203171601.13255.10335.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": "<20170203171601.13255.10335.stgit@localhost.localdomain>",
    "list_archive_url": null,
    "date": "2017-02-03T17:19:40",
    "name": "[next] ixgbe: Limit use of 2K buffers on architectures with 256B or larger cache lines",
    "commit_ref": null,
    "pull_url": null,
    "state": "accepted",
    "archived": false,
    "hash": "59c408907dac2b69aff6421962ac4870de811668",
    "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/20170203171601.13255.10335.stgit@localhost.localdomain/mbox/",
    "series": [],
    "comments": "http://patchwork.ozlabs.org/api/patches/723833/comments/",
    "check": "pending",
    "checks": "http://patchwork.ozlabs.org/api/patches/723833/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 3vFNsK6BnVz9s77\n\tfor <incoming@patchwork.ozlabs.org>;\n\tSat,  4 Feb 2017 04:19:48 +1100 (AEDT)",
            "from localhost (localhost [127.0.0.1])\n\tby silver.osuosl.org (Postfix) with ESMTP id 74986262C0;\n\tFri,  3 Feb 2017 17:19:47 +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 otfAsrf7L5YF; Fri,  3 Feb 2017 17:19:45 +0000 (UTC)",
            "from ash.osuosl.org (ash.osuosl.org [140.211.166.34])\n\tby silver.osuosl.org (Postfix) with ESMTP id 4D81430306;\n\tFri,  3 Feb 2017 17:19:45 +0000 (UTC)",
            "from silver.osuosl.org (smtp3.osuosl.org [140.211.166.136])\n\tby ash.osuosl.org (Postfix) with ESMTP id F288C1C0306\n\tfor <intel-wired-lan@lists.osuosl.org>;\n\tFri,  3 Feb 2017 17:19:43 +0000 (UTC)",
            "from localhost (localhost [127.0.0.1])\n\tby silver.osuosl.org (Postfix) with ESMTP id EB8C030306\n\tfor <intel-wired-lan@lists.osuosl.org>;\n\tFri,  3 Feb 2017 17:19:43 +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 124Gbk7op1Zz for <intel-wired-lan@lists.osuosl.org>;\n\tFri,  3 Feb 2017 17:19:41 +0000 (UTC)",
            "from mail-pf0-f172.google.com (mail-pf0-f172.google.com\n\t[209.85.192.172])\n\tby silver.osuosl.org (Postfix) with ESMTPS id 976A9262C0\n\tfor <intel-wired-lan@lists.osuosl.org>;\n\tFri,  3 Feb 2017 17:19:41 +0000 (UTC)",
            "by mail-pf0-f172.google.com with SMTP id y143so7269413pfb.0\n\tfor <intel-wired-lan@lists.osuosl.org>;\n\tFri, 03 Feb 2017 09:19:41 -0800 (PST)",
            "from localhost.localdomain ([2001:470:b:9c3:9e5c:8eff:fe4f:f2d0])\n\tby smtp.gmail.com with ESMTPSA id\n\tr78sm68642491pfl.63.2017.02.03.09.19.40\n\t(version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128);\n\tFri, 03 Feb 2017 09:19:40 -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=\"Efg1/dqR\"; 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:user-agent:mime-version\n\t:content-transfer-encoding;\n\tbh=CrB20UmFjKTojaIgqRqi2n85SehcdruCFP3+blLTyLg=;\n\tb=Efg1/dqRlmlEe7OpDsbWcK5fujH2R6b2ZO76SLqatiruz7y1UY6VF2sSmvjfQFGRQ6\n\t+KXwA+u5fdCxDLLb1tNwOa+HWJWIx3g6jV3FMOmocK6rCz/lmPTFw2DZSic+isJH5xWL\n\t6MQPDgZCUWAIzIVsfJ0Zrsub9IYMECkmwmfUw/m/lVUZPOEMOwqrMu/zI1XmtGpSEFk3\n\t4uRDYBl22/FzD4j+ZnFOiHkaTH7mbboGGs/nRMsPTXFVSsYE4zNWVXSmdpPpXjbdhmrP\n\tlYpeTrFhym+MSkN6PXOrcgP0e1SH7+BA+LOxmmRA1hl1tcdjp7DnHBRLKkHpQhIMnk3s\n\tKqww==",
        "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:user-agent\n\t:mime-version:content-transfer-encoding;\n\tbh=CrB20UmFjKTojaIgqRqi2n85SehcdruCFP3+blLTyLg=;\n\tb=kdpCEyQD07KiVRpMQ2e9KYU63pojBcollBXpXtsXzv4dWFsVvDvLDvkQ6bfLSXD11G\n\tsbZFQ9P4IeMfLRrQYRF3X33X7dYPCGwdxB8jpAOSBJ2k7Bhf89SJk0JdjtN0r6rF0CHX\n\tmKe3dcjbhYl7FZoNukwltdHXadHtXRiAtnDIsMN5wkqtDV2ro7IzZ9DSjEXxr40R1Sm7\n\tRPbN9kTXhCaE9ivZSQXdqhMsiV8m1Uc9pzXY+ShSon0v9fsHlYq8k2u3uXIyad0ef1t4\n\ttqUywkFS8phXMdoBmL+1RJga3aHOs3KyXARutXnDaMVgl2OXc4mz81TMrixcjAdt7BdF\n\tGRxA==",
        "X-Gm-Message-State": "AIkVDXL1Hmw81X4dzbmxNS/2qh5nqmaKQeCYggZI+JHVzks6Gc0zHd32F68ib+EmL643mA==",
        "X-Received": "by 10.84.196.131 with SMTP id l3mr22735023pld.150.1486142381126; \n\tFri, 03 Feb 2017 09:19:41 -0800 (PST)",
        "From": "Alexander Duyck <alexander.duyck@gmail.com>",
        "To": "intel-wired-lan@lists.osuosl.org, jeffrey.t.kirsher@intel.com",
        "Date": "Fri, 03 Feb 2017 09:19:40 -0800",
        "Message-ID": "<20170203171601.13255.10335.stgit@localhost.localdomain>",
        "User-Agent": "StGit/0.17.1-dirty",
        "MIME-Version": "1.0",
        "Subject": "[Intel-wired-lan] [next PATCH] ixgbe: Limit use of 2K buffers on\n\tarchitectures with 256B or larger cache lines",
        "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\nOn architectures that have a cache line size larger than 64 Bytes we start\nrunning into issues where the amount of headroom for the frame starts\nshrinking.\n\nThe size of skb_shared_info on a system with a 64B L1 cache line size is\n320.  This increases to 384 with a 128B cache line, and 512 with a 256B\ncache line.\n\nIn addition the NET_SKB_PAD value increases as well consistent with the\ncache line size.  As a result when we get to a 256B cache line as seen on\nthe s390 we end up 768 bytes used by padding and shared info leaving us\nwith only 1280 bytes to use for data storage.  On architectures such as\nthis we should default to using 3K Rx buffers out of a 8K page instead of\ntrying to do 1.5K buffers out of a 4K page.\n\nTo take all of this into account I have added one small check so that we\ncompare the max_frame to the amount of actual data we can store.  This was\nalready occurring for igb, but I had overlooked it for ixgbe as it doesn't\nhave strict limits for 82599 once we enable jumbo frames.  By adding this\ncheck we will automatically enable 3K Rx buffers as soon as the maximum\nframe size we can handle drops below the standard Ethernet MTU.\n\nI also went through and fixed one small typo that I found where I had left\nan IGB in a variable name due to a copy/paste error.\n\nSigned-off-by: Alexander Duyck <alexander.h.duyck@intel.com>\n---\n\nTesting Hints:\n\tIf at all possible it would be best to try testing this patch on\n\tsome other architectures such as PPC64.  In lieu of that just build\n\ttesting via the kernel build robot will probably have to do.  The\n\tonly architecture I can identify that might actually have an issue\n\tthat this fixes is s390 which last I knew there was none of in the\n\tlabs at Intel for testing.\n\n\tBasic Rx testing will suffice otherwise.\n\n\tAlso I am okay with this patch just being merged into the earlier\n\tpatch \"ixgbe: Add support for padding packet\" if you want to go\n\tthat route.  I just figured it wasn't worth the trouble to resend\n\tthe entire set for a minor issue.\n\n drivers/net/ethernet/intel/ixgbe/ixgbe.h      |    2 +-\n drivers/net/ethernet/intel/ixgbe/ixgbe_main.c |    3 ++-\n 2 files changed, 3 insertions(+), 2 deletions(-)",
    "diff": "diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe.h b/drivers/net/ethernet/intel/ixgbe/ixgbe.h\nindex 3537d07b4807..77bf71db85af 100644\n--- a/drivers/net/ethernet/intel/ixgbe/ixgbe.h\n+++ b/drivers/net/ethernet/intel/ixgbe/ixgbe.h\n@@ -99,7 +99,7 @@\n #define IXGBE_MAX_FRAME_BUILD_SKB \\\n \t(SKB_WITH_OVERHEAD(IXGBE_RXBUFFER_2K) - IXGBE_SKB_PAD)\n #else\n-#define IGB_MAX_FRAME_BUILD_SKB IXGBE_RXBUFFER_2K\n+#define IXGBE_MAX_FRAME_BUILD_SKB IXGBE_RXBUFFER_2K\n #endif\n \n /*\ndiff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c b/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c\nindex 787cee9c59d3..bfcdc2fdeae4 100644\n--- a/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c\n+++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c\n@@ -4009,7 +4009,8 @@ static void ixgbe_set_rx_buffer_len(struct ixgbe_adapter *adapter)\n \t\tif (adapter->flags2 & IXGBE_FLAG2_RSC_ENABLED)\n \t\t\tset_bit(__IXGBE_RX_3K_BUFFER, &rx_ring->state);\n \n-\t\tif (max_frame > (ETH_FRAME_LEN + ETH_FCS_LEN))\n+\t\tif ((max_frame > (ETH_FRAME_LEN + ETH_FCS_LEN)) ||\n+\t\t    (max_frame > IXGBE_MAX_FRAME_BUILD_SKB))\n \t\t\tset_bit(__IXGBE_RX_3K_BUFFER, &rx_ring->state);\n #endif\n \t}\n",
    "prefixes": [
        "next"
    ]
}