get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 810286,
    "url": "http://patchwork.ozlabs.org/api/1.2/patches/810286/?format=api",
    "web_url": "http://patchwork.ozlabs.org/project/netdev/patch/1504643244-9233-1-git-send-email-Michael.Kardonik@nxp.com/",
    "project": {
        "id": 7,
        "url": "http://patchwork.ozlabs.org/api/1.2/projects/7/?format=api",
        "name": "Linux network development",
        "link_name": "netdev",
        "list_id": "netdev.vger.kernel.org",
        "list_email": "netdev@vger.kernel.org",
        "web_url": null,
        "scm_url": null,
        "webscm_url": null,
        "list_archive_url": "",
        "list_archive_url_format": "",
        "commit_url_format": ""
    },
    "msgid": "<1504643244-9233-1-git-send-email-Michael.Kardonik@nxp.com>",
    "list_archive_url": null,
    "date": "2017-09-05T20:27:24",
    "name": "e1000e: changed some expensive calls of udelay to usleep_range",
    "commit_ref": null,
    "pull_url": null,
    "state": "awaiting-upstream",
    "archived": true,
    "hash": "21b5f76421e435f9c991767d3d36f46675824950",
    "submitter": {
        "id": 72298,
        "url": "http://patchwork.ozlabs.org/api/1.2/people/72298/?format=api",
        "name": "Kardonik Michael",
        "email": "Michael.Kardonik@nxp.com"
    },
    "delegate": {
        "id": 34,
        "url": "http://patchwork.ozlabs.org/api/1.2/users/34/?format=api",
        "username": "davem",
        "first_name": "David",
        "last_name": "Miller",
        "email": "davem@davemloft.net"
    },
    "mbox": "http://patchwork.ozlabs.org/project/netdev/patch/1504643244-9233-1-git-send-email-Michael.Kardonik@nxp.com/mbox/",
    "series": [
        {
            "id": 1648,
            "url": "http://patchwork.ozlabs.org/api/1.2/series/1648/?format=api",
            "web_url": "http://patchwork.ozlabs.org/project/netdev/list/?series=1648",
            "date": "2017-09-05T20:27:24",
            "name": "e1000e: changed some expensive calls of udelay to usleep_range",
            "version": 1,
            "mbox": "http://patchwork.ozlabs.org/series/1648/mbox/"
        }
    ],
    "comments": "http://patchwork.ozlabs.org/api/patches/810286/comments/",
    "check": "pending",
    "checks": "http://patchwork.ozlabs.org/api/patches/810286/checks/",
    "tags": {},
    "related": [],
    "headers": {
        "Return-Path": "<netdev-owner@vger.kernel.org>",
        "X-Original-To": "patchwork-incoming@ozlabs.org",
        "Delivered-To": "patchwork-incoming@ozlabs.org",
        "Authentication-Results": [
            "ozlabs.org;\n\tspf=none (mailfrom) smtp.mailfrom=vger.kernel.org\n\t(client-ip=209.132.180.67; helo=vger.kernel.org;\n\tenvelope-from=netdev-owner@vger.kernel.org;\n\treceiver=<UNKNOWN>)",
            "spf=fail (sender IP is 192.88.168.50)\n\tsmtp.mailfrom=nxp.com; nxp.com; dkim=none (message not signed)\n\theader.d=none;nxp.com; dmarc=fail action=none header.from=nxp.com;"
        ],
        "Received": [
            "from vger.kernel.org (vger.kernel.org [209.132.180.67])\n\tby ozlabs.org (Postfix) with ESMTP id 3xmywB1HqPz9sPs\n\tfor <patchwork-incoming@ozlabs.org>;\n\tWed,  6 Sep 2017 06:28:26 +1000 (AEST)",
            "(majordomo@vger.kernel.org) by vger.kernel.org via listexpand\n\tid S1752921AbdIEU2N (ORCPT <rfc822;patchwork-incoming@ozlabs.org>);\n\tTue, 5 Sep 2017 16:28:13 -0400",
            "from mail-by2nam01on0057.outbound.protection.outlook.com\n\t([104.47.34.57]:24608\n\t\"EHLO NAM01-BY2-obe.outbound.protection.outlook.com\"\n\trhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP\n\tid S1752843AbdIEU2K (ORCPT <rfc822;netdev@vger.kernel.org>);\n\tTue, 5 Sep 2017 16:28:10 -0400",
            "from BN6PR03CA0075.namprd03.prod.outlook.com (10.164.122.141) by\n\tMWHPR03MB3327.namprd03.prod.outlook.com (10.174.249.145) with\n\tMicrosoft SMTP Server (version=TLS1_2,\n\tcipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id\n\t15.20.13.10; Tue, 5 Sep 2017 20:28:08 +0000",
            "from BN1BFFO11FD046.protection.gbl (2a01:111:f400:7c10::1:121) by\n\tBN6PR03CA0075.outlook.office365.com (2603:10b6:405:6f::13) with\n\tMicrosoft SMTP Server (version=TLS1_2,\n\tcipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.13.10 via\n\tFrontend Transport; Tue, 5 Sep 2017 20:28:08 +0000",
            "from tx30smr01.am.freescale.net (192.88.168.50) by\n\tBN1BFFO11FD046.mail.protection.outlook.com (10.58.145.1) with\n\tMicrosoft SMTP Server (version=TLS1_0,\n\tcipher=TLS_RSA_WITH_AES_256_CBC_SHA) id 15.1.1385.11\n\tvia Frontend Transport; Tue, 5 Sep 2017 20:28:08 +0000",
            "from mahshev.am.freescale.net (mahshev.am.freescale.net\n\t[10.81.116.83])\n\tby tx30smr01.am.freescale.net (8.14.3/8.14.0) with ESMTP id\n\tv85KS79G019947; Tue, 5 Sep 2017 13:28:07 -0700"
        ],
        "Received-SPF": "Fail (protection.outlook.com: domain of nxp.com does not\n\tdesignate 192.88.168.50 as permitted sender)\n\treceiver=protection.outlook.com; \n\tclient-ip=192.88.168.50; helo=tx30smr01.am.freescale.net;",
        "From": "Kardonik Michael <Michael.Kardonik@nxp.com>",
        "To": "<leoyang.li@nxp.com>, <michael.kardonik@nxp.com>,\n\tJeff Kirsher <jeffrey.t.kirsher@intel.com>,\n\tJesse Brandeburg <jesse.brandeburg@intel.com>,\n\tShannon Nelson <shannon.nelson@intel.com>,\n\tCarolyn Wyborny <carolyn.wyborny@intel.com>,\n\tDon Skidmore <donald.c.skidmore@intel.com>,\n\tMatthew Vick <matthew.vick@intel.com>,\n\tJohn Ronciak <john.ronciak@intel.com>,\n\tMitch Williams <mitch.a.williams@intel.com>,\n\t<intel-wired-lan@lists.osuosl.org>, <netdev@vger.kernel.org>,\n\t<linux-kernel@vger.kernel.org>",
        "CC": "Matthew Tan <matthew.tan_1@nxp.com>",
        "Subject": "[PATCH] e1000e: changed some expensive calls of udelay to\n\tusleep_range",
        "Date": "Tue, 5 Sep 2017 15:27:24 -0500",
        "Message-ID": "<1504643244-9233-1-git-send-email-Michael.Kardonik@nxp.com>",
        "X-Mailer": "git-send-email 2.7.4",
        "X-EOPAttributedMessage": "0",
        "X-Matching-Connectors": "131491168887603969;\n\t(91ab9b29-cfa4-454e-5278-08d120cd25b8); ()",
        "X-Forefront-Antispam-Report": "CIP:192.88.168.50; IPV:NLI; CTRY:US; EFV:NLI;\n\tSFV:NSPM;\n\tSFS:(10009020)(6009001)(336005)(39860400002)(39380400002)(2980300002)(1109001)(1110001)(339900001)(199003)(189002)(50226002)(77096006)(104016004)(8936002)(8676002)(356003)(6666003)(50986999)(68736007)(50466002)(551934003)(47776003)(48376002)(106466001)(5660300001)(81156014)(498600001)(81166006)(305945005)(105606002)(7416002)(626005)(72206003)(86362001)(85426001)(2201001)(53936002)(5003940100001)(2906002)(4326008)(189998001)(36756003)(97736004)(8656003)(921003)(1121003);\n\tDIR:OUT; SFP:1101; SCL:1; SRVR:MWHPR03MB3327;\n\tH:tx30smr01.am.freescale.net; FPR:; SPF:Fail;\n\tPTR:InfoDomainNonexistent; A:1; MX:1; LANG:en; ",
        "X-Microsoft-Exchange-Diagnostics": [
            "1; BN1BFFO11FD046;\n\t1:MSlGrdYYLW8RcWm2TpgylpF50SvqypZq6C38IsD7y6nt3JR5gxUr7K4UvYpQDIzToKdNAGVpVy2I8+HmbRCtLnmLzUvimm7gu0Gbbgq22h6z3SxWkOqN2P8OC4+Ez1xa",
            "1; MWHPR03MB3327;\n\t3:lhWn+VlnvxDooiSq4xLKrxIdGHEDbn+KjoAIbEVesNnMmpY3uE/LK8AK0u2xWf70hBSInRUVJkV6g9VKItokthu2ky3e0Gyht1SBueVWir3rb0RRW80mMhPJTZRcfqSmBXVWqRwfx2QZzd4xbMYXEisaBHr6lPSTb7942EW6xES8zhzq/k8RJ981MGGLYoWDBZriReTfVv2Y1rUXewiWcpJxItCT8cybFFJGVMylzVspjto7jTzphAwpb+mypmbmxRiPaKyfavUJF37gz87RX0mIx6u1aWdmR0GjT6ix1RKCz+8GVVygwobHlb2/MkLewGkWX0H+GltRmTMz4lJOiwmDlRrjqNl+Gp+RiMBWjrc=;\n\t25:8fxEWbzfpWvbgkT8nZSpI14DNZl0AIpbvCvO6d/j3a7S3bWVuBN2whHbCKTgQfUTy9jv85ZtQr7DTvGlAiw+gYTg4PpppyH8doJSn4OsdDdA+VbVjka/R5tss/cguQiJJtp/tcK00IqN/JtGUnU/JTwzIdvnoP9XiBma7fCmT2m0ikqjwI/5jblyJTBmFRIljodA3zjftEXXtmTXnCC41rm3UJlSdBEASQ9N2VewiXMCt1rSqh5HC86cRDFakU26UEI9f6QpBBERqESq671wXqRXvALLdQntblMsBsTXRtqe1itUhoFtDZxAVAPpYit3BIt5etBl5w+4BjePxrNX1w==",
            "1; MWHPR03MB3327;\n\t31:/5Ddsf9HJuZQjQJnamj0CuWyiuObN0R7tsEh5O5Nyu9ZyJf1QvrZlXR8GdebbNnpfYriFXtgfV71XuZw8hFMHo1gVhieB8pjYKWpv/X2QZ371hC8WvIzYuqBBjGcbPSsvgca7p/dFzJkm3iQMBTXKll4gCNSS9PwWzQ8uWiikWY6eP3b4ba57Q0iTaTe0uuOGy4NsrBWfPt1rbgli0sMB5MC4/kx2XMLPyoLTnoDL78=;\n\t4:kTOlHamUxSW0qVC1rbg65gzIdir7BL//BI3FfuMgMR0zk+yW6HKuFMNCWwsakAtSFEpCKgfmchQCN6p8lyU3vnqieRrhlcqSmJkRBwlbuEsnBKEmyIjJ/kJy7dG+ntny0Sb3WhRxr0yUPhbB8yJv0ScWWRHg43rGLkKthu3eADLexLU0oqqsMJbW1c6/M5QS9hpRkWBCIHvwqUCka4q5ygn0SUAAHh0X8Mt+MNVG2Kbxp9PLnBo6O5KkeoMW/pnLIoRzZ5NQAtqb0966nTb+lPJo2hR3nu4YFdB2FmHMYNDbr67Uujhhs7BQxRFjcfPughCsKxZGcoy7x5wPKJeefQ==",
            "1; MWHPR03MB3327;\n\t23:MGa+k73iBNn/DEek7mqBxMRvff6qQRzbFwfntV4AOdJHkC9lZp0cnRc3jzOhInbmN7hPBi+Y1jPthQNG+d1N1KzijbHGXxQxKDKTkKg/JY31gfu16Wy+S1c2VNmhyFWM5uEaWmCjZLd47s9sbqWAbRA7ZA47rfol9HWXUQnFQ9qgkVnGvmEg9ip7XgwR9KPnukJiB59eTE5AruQ658sIF6ptrG1ZhgRIQ/8sKyYQnDntRNnIZNMt1Lb+teEo6bxH2N+yP5iqeUB9C5Yh6vLDJYChkdOw4U1tGtyVtgq3wR94lVp6IygCYW3fjzzq35pzbkQlV/zivrFyEZ/fXt+CmQxQXyMvXfYPcctyWK63V2AyGYZzzC21/U44ptWgRLBhgPhcpqP+AIEDVpdvz3K7Q0Z+DKNhtkkBTPBWnf8XDrLaX3W5+zsTg9XhNkvuJVNTrcHcPnXI1+s+y6nrM6aSydurG0qtpff6qtIT/sIMqd5o6nC2+yFT2fPIx6tE9tnfvwz/PQjOizLREBZn5KVLVzGhmBYVR67lGE3Os5AI0MsutqQW0NpNoPJBbjkWQ3DXSA1GP2SfuzuPrSmKgRd/L1+ey0YfH076eGuVoyInLkMcDNki5VjAlo4B2JSyLaSZ0Zt2zxan8j8GJS1LoqR65ZXTShEetxafRAemQoGM22pNYn6Aw3nFykkhp/TG8jczLl17g3iQtmSQEeUWVancpY+QJldgf+2DD9GQzitL2mTXTpcnDBdQBjZ8R3ti6zuRsejewG4fx+3++O6227Q5TK3uJA72sNOpvs970gHKDKUOyghd4BdmCfkBSzcqW+txJtTXRRnw40MyvV1noxkFyyDljpBneA3/m4j442ETjjXYX0J/TCwCYqrlll88J/g+yLSbXmOIBkEj3vTMtZH6wJHLTHSFyrMoPCJXpPqeTl36tQ0UZ1waoRi3URFHiuFTIdQFDpqfDZKBx3teCkywFcYJnKsycJGLw8BLcecimyt5u5gq7Vce/fzlR9qapnQ9tIprJrfJDNNQFEHsBXbx7DVsW9oiwuBC9SHoe+w9SUlSPML1fFoS54YoAUk7ViAKQHneinuUkbBfzGzu+npGTw==",
            "1; MWHPR03MB3327;\n\t6:PVRuPv7aDmwfA/O1Xznevk5IPMQ7rJu3Ufa3flwOnsjbGf817tKb9h/I1V6VdiHaCoW5OywCQSzF2flfuzwoh8e7sW34x+/+h8eYgitr4sPyu9ufWjws5xX7pJIBheaRIjzJZH68stJ/L2ovll3Ov9kfYjO58dTKogqIM2TF2Ne8rjZa3M0UtDIiBvimm1NBwGfl/1lUqZbixuza6jOq4NMBV0XRcYiIr1JkHzAof+69CvgZhVrp5spqd4HMyV18pD9m6V78jYz2pwsgepmLoS4ducQs927fa2yFCOxkf0Clmwo+6jF2KuCjAvD8KKBgXaOdcUS9Su7kw0uXYp1ZTQ==;\n\t5:8FyyxI8SrrQqoPd7pOVIH8EbdzUn10GMGPHc9BECDWKVioWljLgw4pyXLpoMlZbgBqsSOTFE2jqR6EEbt10cqz6ZvyTK6dW3apwRiE9VRbP3gmIj/k+RHuJc7qgmM4GuVU1+cxt/rxD4mXNWynH5zQ==;\n\t24:4lkb5mS44PgAkIekzo5FpMvUX/laDpiHMBxWM771QD01+NhmiBcK+EJzajJ7XGovUS0XOne8gJhg9QGYFtVVEsipKxV/6flxtoMNJbRXbEg=;\n\t7:4/VXhYcXsWjqbfqYFA8K/Z099endX/tsoLB3r7qgkdrHONtHqZHqnRz5XfFKia16oS6NUpkjeEgQPgSqP1vfKawuRJHCf69cuhlbrIHSVFVgys8XFipWD9qtPc83OZZBruQ3dWiVcoaPlkp96h5Xa+xFLys1TAKIqN/ZV4kawTdkj8WLIRnRZNbec965j3jUU/03tLRa2enwbdxRvKQ7VXcsJSt4K0DTLJdfAZhIi50="
        ],
        "MIME-Version": "1.0",
        "Content-Type": "text/plain",
        "X-MS-PublicTrafficType": "Email",
        "X-MS-Office365-Filtering-Correlation-Id": "5ad8c12c-44e2-4971-21a2-08d4f49c9f1a",
        "X-Microsoft-Antispam": "UriScan:; BCL:0; PCL:0;\n\tRULEID:(300000500095)(300135000095)(300000501095)(300135300095)(300000502095)(300135100095)(22001)(300000503095)(300135400095)(2017052603199)(201703131430075)(201703131517081)(300000504095)(300135200095)(300000505095)(300135600095)(300000506095)(300135500095);\n\tSRVR:MWHPR03MB3327; ",
        "X-MS-TrafficTypeDiagnostic": "MWHPR03MB3327:",
        "X-Exchange-Antispam-Report-Test": "UriScan:(278428928389397)(185117386973197); ",
        "X-Microsoft-Antispam-PRVS": "<MWHPR03MB3327545142F3D03C68DBB40485960@MWHPR03MB3327.namprd03.prod.outlook.com>",
        "X-Exchange-Antispam-Report-CFA-Test": "BCL:0; PCL:0;\n\tRULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6095135)(2401047)(8121501046)(5005006)(93006095)(93001095)(10201501046)(100000703101)(100105400095)(3002001)(6055026)(6096035)(20161123563025)(20161123561025)(20161123559100)(20161123565025)(20161123556025)(201703131430075)(201703131433075)(201703131441075)(201703131448075)(201703161259150)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095);\n\tSRVR:MWHPR03MB3327; BCL:0; PCL:0;\n\tRULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(400006)(100000804101)(100110200095)(100000805101)(100110500095);\n\tSRVR:MWHPR03MB3327; ",
        "X-Forefront-PRVS": "0421BF7135",
        "SpamDiagnosticOutput": "1:99",
        "SpamDiagnosticMetadata": "NSPM",
        "X-MS-Exchange-CrossTenant-OriginalArrivalTime": "05 Sep 2017 20:28:08.4795\n\t(UTC)",
        "X-MS-Exchange-CrossTenant-Id": "5afe0b00-7697-4969-b663-5eab37d5f47e",
        "X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp": "TenantId=5afe0b00-7697-4969-b663-5eab37d5f47e;\n\tIp=[192.88.168.50]; Helo=[tx30smr01.am.freescale.net]",
        "X-MS-Exchange-CrossTenant-FromEntityHeader": "HybridOnPrem",
        "X-MS-Exchange-Transport-CrossTenantHeadersStamped": "MWHPR03MB3327",
        "Sender": "netdev-owner@vger.kernel.org",
        "Precedence": "bulk",
        "List-ID": "<netdev.vger.kernel.org>",
        "X-Mailing-List": "netdev@vger.kernel.org"
    },
    "content": "Calls to udelay are not preemtable by userspace so userspace\napplications experience a large (~200us) latency when running on core0. \nInstead usleep_range can be used to be more friendly to userspace\nsince it is preemtable. This is due to udelay using busy-wait loops\nwhile usleep_rang uses hrtimers instead. It is recommended to use\nudelay when the delay is <10us since at that precision overhead of\nusleep_range hrtimer setup causes issues. However, the replaced calls\nare for 50us and 100us so this should not be not an issue.\nThere is no open bug that this patch is fixing, but we see a good\nboost in zero loss performance of specific user space application \n(dpdk l3fwd) when this patch is applied: we get from 32% of 10Gb line \nto 49%.\n\nSigned-off-by: Matthew Tan <matthew.tan_1@nxp.com>\nSigned-off-by: Michael Kardonik <michael.kardonik@nxp.com>\n\n---\n drivers/net/ethernet/intel/e1000e/phy.c | 8 ++++----\n 1 file changed, 4 insertions(+), 4 deletions(-)",
    "diff": "diff --git a/drivers/net/ethernet/intel/e1000e/phy.c b/drivers/net/ethernet/intel/e1000e/phy.c\nindex de13aea..e318fdc 100644\n--- a/drivers/net/ethernet/intel/e1000e/phy.c\n+++ b/drivers/net/ethernet/intel/e1000e/phy.c\n@@ -158,7 +158,7 @@ s32 e1000e_read_phy_reg_mdic(struct e1000_hw *hw, u32 offset, u16 *data)\n \t * the lower time out\n \t */\n \tfor (i = 0; i < (E1000_GEN_POLL_TIMEOUT * 3); i++) {\n-\t\tudelay(50);\n+\t\tusleep_range(50, 60);\n \t\tmdic = er32(MDIC);\n \t\tif (mdic & E1000_MDIC_READY)\n \t\t\tbreak;\n@@ -183,7 +183,7 @@ s32 e1000e_read_phy_reg_mdic(struct e1000_hw *hw, u32 offset, u16 *data)\n \t * reading duplicate data in the next MDIC transaction.\n \t */\n \tif (hw->mac.type == e1000_pch2lan)\n-\t\tudelay(100);\n+\t\tusleep_range(100, 110);\n \n \treturn 0;\n }\n@@ -222,7 +222,7 @@ s32 e1000e_write_phy_reg_mdic(struct e1000_hw *hw, u32 offset, u16 data)\n \t * the lower time out\n \t */\n \tfor (i = 0; i < (E1000_GEN_POLL_TIMEOUT * 3); i++) {\n-\t\tudelay(50);\n+\t\tusleep_range(50, 60);\n \t\tmdic = er32(MDIC);\n \t\tif (mdic & E1000_MDIC_READY)\n \t\t\tbreak;\n@@ -246,7 +246,7 @@ s32 e1000e_write_phy_reg_mdic(struct e1000_hw *hw, u32 offset, u16 data)\n \t * reading duplicate data in the next MDIC transaction.\n \t */\n \tif (hw->mac.type == e1000_pch2lan)\n-\t\tudelay(100);\n+\t\tusleep_range(100, 110);\n \n \treturn 0;\n }\n",
    "prefixes": []
}