get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 752527,
    "url": "http://patchwork.ozlabs.org/api/patches/752527/?format=api",
    "web_url": "http://patchwork.ozlabs.org/project/intel-wired-lan/patch/20170419132559.20459-3-alice.michael@intel.com/",
    "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": "<20170419132559.20459-3-alice.michael@intel.com>",
    "list_archive_url": null,
    "date": "2017-04-19T13:25:52",
    "name": "[next,S71,03/10] i40e: amortize wait time when disabling lots of VFs",
    "commit_ref": null,
    "pull_url": null,
    "state": "accepted",
    "archived": false,
    "hash": "33e4ea8ea1692efc5cad2bd2facbe92cf280e812",
    "submitter": {
        "id": 71123,
        "url": "http://patchwork.ozlabs.org/api/people/71123/?format=api",
        "name": "Michael, Alice",
        "email": "alice.michael@intel.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/20170419132559.20459-3-alice.michael@intel.com/mbox/",
    "series": [],
    "comments": "http://patchwork.ozlabs.org/api/patches/752527/comments/",
    "check": "pending",
    "checks": "http://patchwork.ozlabs.org/api/patches/752527/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 hemlock.osuosl.org (smtp2.osuosl.org [140.211.166.133])\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 3w7Zr82zz5z9s3s\n\tfor <incoming@patchwork.ozlabs.org>;\n\tThu, 20 Apr 2017 07:28:56 +1000 (AEST)",
            "from localhost (localhost [127.0.0.1])\n\tby hemlock.osuosl.org (Postfix) with ESMTP id D7B5D8A33B;\n\tWed, 19 Apr 2017 21:28:54 +0000 (UTC)",
            "from hemlock.osuosl.org ([127.0.0.1])\n\tby localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024)\n\twith ESMTP id 4ohY+Y4qdPdd; Wed, 19 Apr 2017 21:28:52 +0000 (UTC)",
            "from ash.osuosl.org (ash.osuosl.org [140.211.166.34])\n\tby hemlock.osuosl.org (Postfix) with ESMTP id C70EC8A342;\n\tWed, 19 Apr 2017 21:28:50 +0000 (UTC)",
            "from silver.osuosl.org (smtp3.osuosl.org [140.211.166.136])\n\tby ash.osuosl.org (Postfix) with ESMTP id A843A1C276A\n\tfor <intel-wired-lan@lists.osuosl.org>;\n\tWed, 19 Apr 2017 21:28:45 +0000 (UTC)",
            "from localhost (localhost [127.0.0.1])\n\tby silver.osuosl.org (Postfix) with ESMTP id A280630D32\n\tfor <intel-wired-lan@lists.osuosl.org>;\n\tWed, 19 Apr 2017 21:28:45 +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 Xmu6Xf2anE6s for <intel-wired-lan@lists.osuosl.org>;\n\tWed, 19 Apr 2017 21:28:42 +0000 (UTC)",
            "from mga11.intel.com (mga11.intel.com [192.55.52.93])\n\tby silver.osuosl.org (Postfix) with ESMTPS id 6FBEA30D48\n\tfor <intel-wired-lan@lists.osuosl.org>;\n\tWed, 19 Apr 2017 21:28:42 +0000 (UTC)",
            "from orsmga003.jf.intel.com ([10.7.209.27])\n\tby fmsmga102.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384;\n\t19 Apr 2017 14:28:42 -0700",
            "from unknown (HELO localhost.jf.intel.com) ([10.166.16.121])\n\tby orsmga003.jf.intel.com with ESMTP; 19 Apr 2017 14:28:41 -0700"
        ],
        "X-Virus-Scanned": [
            "amavisd-new at osuosl.org",
            "amavisd-new at osuosl.org"
        ],
        "X-Greylist": "domain auto-whitelisted by SQLgrey-1.7.6",
        "X-ExtLoop1": "1",
        "X-IronPort-AV": "E=Sophos;i=\"5.37,222,1488873600\"; d=\"scan'208\";a=\"958903555\"",
        "From": "Alice Michael <alice.michael@intel.com>",
        "To": "alice.michael@intel.com,\n\tintel-wired-lan@lists.osuosl.org",
        "Date": "Wed, 19 Apr 2017 09:25:52 -0400",
        "Message-Id": "<20170419132559.20459-3-alice.michael@intel.com>",
        "X-Mailer": "git-send-email 2.9.3",
        "In-Reply-To": "<20170419132559.20459-1-alice.michael@intel.com>",
        "References": "<20170419132559.20459-1-alice.michael@intel.com>",
        "Subject": "[Intel-wired-lan] [next PATCH S71 03/10] i40e: amortize wait time\n\twhen disabling lots of VFs",
        "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>",
        "MIME-Version": "1.0",
        "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: Jacob Keller <jacob.e.keller@intel.com>\n\nJust as we do in i40e_reset_all_vfs, save some time when freeing VFs by\namortizing the wait time for stopping queues. We can use\ni40e_vsi_stop_rings_no_wait() to begin the process of stopping all the\nVF rings at once. Then, once we've started the process on each VF we can\nbegin waiting for the VFs to stop. This helps reduce the total wait time\nby a large factor.\n\nSigned-off-by: Jacob Keller <jacob.e.keller@intel.com>\n---\n drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c | 16 ++++++++++++++--\n 1 file changed, 14 insertions(+), 2 deletions(-)",
    "diff": "diff --git a/drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c b/drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c\nindex 74977a2..2a47a64 100644\n--- a/drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c\n+++ b/drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c\n@@ -1194,9 +1194,21 @@ void i40e_free_vfs(struct i40e_pf *pf)\n \t\tusleep_range(1000, 2000);\n \n \ti40e_notify_client_of_vf_enable(pf, 0);\n-\tfor (i = 0; i < pf->num_alloc_vfs; i++)\n+\n+\t/* Amortize wait time by stopping all VFs at the same time */\n+\tfor (i = 0; i < pf->num_alloc_vfs; i++) {\n+\t\tif (test_bit(I40E_VF_STATE_INIT, &pf->vf[i].vf_states))\n+\t\t\tcontinue;\n+\n+\t\ti40e_vsi_stop_rings_no_wait(pf->vsi[pf->vf[i].lan_vsi_idx]);\n+\t}\n+\n+\tfor (i = 0; i < pf->num_alloc_vfs; i++) {\n \t\tif (test_bit(I40E_VF_STATE_INIT, &pf->vf[i].vf_states))\n-\t\t\ti40e_vsi_stop_rings(pf->vsi[pf->vf[i].lan_vsi_idx]);\n+\t\t\tcontinue;\n+\n+\t\ti40e_vsi_wait_queues_disabled(pf->vsi[pf->vf[i].lan_vsi_idx]);\n+\t}\n \n \t/* Disable IOV before freeing resources. This lets any VF drivers\n \t * running in the host get themselves cleaned up before we yank\n",
    "prefixes": [
        "next",
        "S71",
        "03/10"
    ]
}