get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 813033,
    "url": "http://patchwork.ozlabs.org/api/patches/813033/?format=api",
    "web_url": "http://patchwork.ozlabs.org/project/linuxppc-dev/patch/20170912194148.418497420@linutronix.de/",
    "project": {
        "id": 2,
        "url": "http://patchwork.ozlabs.org/api/projects/2/?format=api",
        "name": "Linux PPC development",
        "link_name": "linuxppc-dev",
        "list_id": "linuxppc-dev.lists.ozlabs.org",
        "list_email": "linuxppc-dev@lists.ozlabs.org",
        "web_url": "https://github.com/linuxppc/wiki/wiki",
        "scm_url": "https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git",
        "webscm_url": "https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git/",
        "list_archive_url": "https://lore.kernel.org/linuxppc-dev/",
        "list_archive_url_format": "https://lore.kernel.org/linuxppc-dev/{}/",
        "commit_url_format": "https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git/commit/?id={}"
    },
    "msgid": "<20170912194148.418497420@linutronix.de>",
    "list_archive_url": "https://lore.kernel.org/linuxppc-dev/20170912194148.418497420@linutronix.de/",
    "date": "2017-09-12T19:37:23",
    "name": "[V2,29/29] lockup_detector: Cleanup hotplug locking mess",
    "commit_ref": null,
    "pull_url": null,
    "state": "not-applicable",
    "archived": false,
    "hash": "9a492464d6bc74747f56e28210a2f6d3b768d0dc",
    "submitter": {
        "id": 180,
        "url": "http://patchwork.ozlabs.org/api/people/180/?format=api",
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de"
    },
    "delegate": null,
    "mbox": "http://patchwork.ozlabs.org/project/linuxppc-dev/patch/20170912194148.418497420@linutronix.de/mbox/",
    "series": [
        {
            "id": 2761,
            "url": "http://patchwork.ozlabs.org/api/series/2761/?format=api",
            "web_url": "http://patchwork.ozlabs.org/project/linuxppc-dev/list/?series=2761",
            "date": "2017-09-12T19:37:16",
            "name": null,
            "version": 2,
            "mbox": "http://patchwork.ozlabs.org/series/2761/mbox/"
        }
    ],
    "comments": "http://patchwork.ozlabs.org/api/patches/813033/comments/",
    "check": "pending",
    "checks": "http://patchwork.ozlabs.org/api/patches/813033/checks/",
    "tags": {},
    "related": [],
    "headers": {
        "Return-Path": "<linuxppc-dev-bounces+patchwork-incoming=ozlabs.org@lists.ozlabs.org>",
        "X-Original-To": [
            "patchwork-incoming@ozlabs.org",
            "linuxppc-dev@lists.ozlabs.org"
        ],
        "Delivered-To": [
            "patchwork-incoming@ozlabs.org",
            "linuxppc-dev@lists.ozlabs.org"
        ],
        "Received": [
            "from lists.ozlabs.org (lists.ozlabs.org [103.22.144.68])\n\t(using TLSv1.2 with cipher ADH-AES256-GCM-SHA384 (256/256 bits))\n\t(No client certificate requested)\n\tby ozlabs.org (Postfix) with ESMTPS id 3xsFnp1hqMz9s7M\n\tfor <patchwork-incoming@ozlabs.org>;\n\tWed, 13 Sep 2017 05:52:46 +1000 (AEST)",
            "from lists.ozlabs.org (lists.ozlabs.org [IPv6:2401:3900:2:1::3])\n\tby lists.ozlabs.org (Postfix) with ESMTP id 3xsFnp0mH0zDrKj\n\tfor <patchwork-incoming@ozlabs.org>;\n\tWed, 13 Sep 2017 05:52:46 +1000 (AEST)",
            "from Galois.linutronix.de (Galois.linutronix.de\n\t[IPv6:2a01:7a0:2:106d:700::1])\n\t(using TLSv1.2 with cipher DHE-RSA-AES128-SHA (128/128 bits))\n\t(No client certificate requested)\n\tby lists.ozlabs.org (Postfix) with ESMTPS id 3xsFkj1C0DzDrJ5\n\tfor <linuxppc-dev@lists.ozlabs.org>;\n\tWed, 13 Sep 2017 05:50:05 +1000 (AEST)",
            "from localhost ([127.0.0.1] helo=[127.0.1.1])\n\tby Galois.linutronix.de with esmtp (Exim 4.80)\n\t(envelope-from <tglx@linutronix.de>)\n\tid 1drrA4-0002Jw-SQ; Tue, 12 Sep 2017 21:47:57 +0200"
        ],
        "Authentication-Results": "ozlabs.org;\n\tspf=none (mailfrom) smtp.mailfrom=linutronix.de\n\t(client-ip=2a01:7a0:2:106d:700::1; helo=galois.linutronix.de;\n\tenvelope-from=tglx@linutronix.de; receiver=<UNKNOWN>)",
        "Message-Id": "<20170912194148.418497420@linutronix.de>",
        "User-Agent": "quilt/0.63-1",
        "Date": "Tue, 12 Sep 2017 21:37:23 +0200",
        "From": "Thomas Gleixner <tglx@linutronix.de>",
        "To": "LKML <linux-kernel@vger.kernel.org>",
        "Subject": "[patch V2 29/29] lockup_detector: Cleanup hotplug locking mess",
        "References": "<20170912193654.321505854@linutronix.de>",
        "MIME-Version": "1.0",
        "Content-Type": "text/plain; charset=ISO-8859-15",
        "Content-Disposition": "inline;\n\tfilename=lockup_detector_Cleanup_hotplug_locking_mess.patch",
        "X-BeenThere": "linuxppc-dev@lists.ozlabs.org",
        "X-Mailman-Version": "2.1.24",
        "Precedence": "list",
        "List-Id": "Linux on PowerPC Developers Mail List\n\t<linuxppc-dev.lists.ozlabs.org>",
        "List-Unsubscribe": "<https://lists.ozlabs.org/options/linuxppc-dev>,\n\t<mailto:linuxppc-dev-request@lists.ozlabs.org?subject=unsubscribe>",
        "List-Archive": "<http://lists.ozlabs.org/pipermail/linuxppc-dev/>",
        "List-Post": "<mailto:linuxppc-dev@lists.ozlabs.org>",
        "List-Help": "<mailto:linuxppc-dev-request@lists.ozlabs.org?subject=help>",
        "List-Subscribe": "<https://lists.ozlabs.org/listinfo/linuxppc-dev>,\n\t<mailto:linuxppc-dev-request@lists.ozlabs.org?subject=subscribe>",
        "Cc": "Don Zickus <dzickus@redhat.com>, Chris Metcalf <cmetcalf@mellanox.com>, \n\tPeter Zijlstra <peterz@infradead.org>,\n\tSebastian Siewior <bigeasy@linutronix.de>,\n\tUlrich Obergfell <uobergfe@redhat.com>,\n\tNicholas Piggin <npiggin@gmail.com>, Borislav Petkov <bp@alien8.de>,\n\tAndrew Morton <akpm@linux-foundation.org>, \n\tlinuxppc-dev@lists.ozlabs.org, Ingo Molnar <mingo@kernel.org>",
        "Errors-To": "linuxppc-dev-bounces+patchwork-incoming=ozlabs.org@lists.ozlabs.org",
        "Sender": "\"Linuxppc-dev\"\n\t<linuxppc-dev-bounces+patchwork-incoming=ozlabs.org@lists.ozlabs.org>"
    },
    "content": "All watchdog thread related functions are delegated to the smpboot thread\ninfrastructure, which handles serialization against CPU hotplug correctly.\n\nThe sysctl interface is completely decoupled from anything which requires\nCPU hotplug protection.\n\nNo need to protect the sysctl writes against cpu hotplug anymore. Remove it\nand add the now required protection to the powerpc arch_nmi_watchdog\nimplementation.\n\nSigned-off-by: Thomas Gleixner <tglx@linutronix.de>\nCc: Don Zickus <dzickus@redhat.com>\nCc: Chris Metcalf <cmetcalf@mellanox.com>\nCc: Peter Zijlstra <peterz@infradead.org>\nCc: Benjamin Herrenschmidt <benh@kernel.crashing.org>\nCc: Sebastian Siewior <bigeasy@linutronix.de>\nCc: Nicholas Piggin <npiggin@gmail.com>\nCc: Ulrich Obergfell <uobergfe@redhat.com>\nCc: Borislav Petkov <bp@alien8.de>\nCc: Michael Ellerman <mpe@ellerman.id.au>\nCc: Andrew Morton <akpm@linux-foundation.org>\nCc: linuxppc-dev@lists.ozlabs.org\nLink: http://lkml.kernel.org/r/20170831073055.331699267@linutronix.de\n\n---\n arch/powerpc/kernel/watchdog.c |    2 ++\n kernel/watchdog.c              |    6 ------\n 2 files changed, 2 insertions(+), 6 deletions(-)",
    "diff": "--- a/arch/powerpc/kernel/watchdog.c\n+++ b/arch/powerpc/kernel/watchdog.c\n@@ -359,6 +359,7 @@ void watchdog_nmi_reconfigure(bool run)\n {\n \tint cpu;\n \n+\tcpus_read_lock();\n \tif (!run) {\n \t\tfor_each_cpu(cpu, &wd_cpus_enabled)\n \t\t\tstop_wd_on_cpu(cpu);\n@@ -367,6 +368,7 @@ void watchdog_nmi_reconfigure(bool run)\n \t\tfor_each_cpu_and(cpu, cpu_online_mask, &watchdog_cpumask)\n \t\t\tstart_wd_on_cpu(cpu);\n \t}\n+\tcpus_read_unlock();\n }\n \n /*\n--- a/kernel/watchdog.c\n+++ b/kernel/watchdog.c\n@@ -664,7 +664,6 @@ static int proc_watchdog_common(int whic\n {\n \tint err, old, *param = table->data;\n \n-\tcpu_hotplug_disable();\n \tmutex_lock(&watchdog_mutex);\n \n \tif (!write) {\n@@ -681,7 +680,6 @@ static int proc_watchdog_common(int whic\n \t\t\tproc_watchdog_update();\n \t}\n \tmutex_unlock(&watchdog_mutex);\n-\tcpu_hotplug_enable();\n \treturn err;\n }\n \n@@ -725,7 +723,6 @@ int proc_watchdog_thresh(struct ctl_tabl\n {\n \tint err, old;\n \n-\tcpu_hotplug_disable();\n \tmutex_lock(&watchdog_mutex);\n \n \told = READ_ONCE(watchdog_thresh);\n@@ -735,7 +732,6 @@ int proc_watchdog_thresh(struct ctl_tabl\n \t\tproc_watchdog_update();\n \n \tmutex_unlock(&watchdog_mutex);\n-\tcpu_hotplug_enable();\n \treturn err;\n }\n \n@@ -750,7 +746,6 @@ int proc_watchdog_cpumask(struct ctl_tab\n {\n \tint err;\n \n-\tcpu_hotplug_disable();\n \tmutex_lock(&watchdog_mutex);\n \n \terr = proc_do_large_bitmap(table, write, buffer, lenp, ppos);\n@@ -758,7 +753,6 @@ int proc_watchdog_cpumask(struct ctl_tab\n \t\tproc_watchdog_update();\n \n \tmutex_unlock(&watchdog_mutex);\n-\tcpu_hotplug_enable();\n \treturn err;\n }\n #endif /* CONFIG_SYSCTL */\n",
    "prefixes": [
        "V2",
        "29/29"
    ]
}