get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 2220898,
    "url": "http://patchwork.ozlabs.org/api/1.1/patches/2220898/?format=api",
    "web_url": "http://patchwork.ozlabs.org/project/netfilter-devel/patch/20260408114952.198028466@kernel.org/",
    "project": {
        "id": 26,
        "url": "http://patchwork.ozlabs.org/api/1.1/projects/26/?format=api",
        "name": "Netfilter Development",
        "link_name": "netfilter-devel",
        "list_id": "netfilter-devel.vger.kernel.org",
        "list_email": "netfilter-devel@vger.kernel.org",
        "web_url": null,
        "scm_url": null,
        "webscm_url": null
    },
    "msgid": "<20260408114952.198028466@kernel.org>",
    "date": "2026-04-08T11:54:01",
    "name": "[V2,04/11] posix-timers: Handle the timer_[re]arm() return value",
    "commit_ref": null,
    "pull_url": null,
    "state": "handled-elsewhere",
    "archived": true,
    "hash": "e2f05d2b14e9886ec3c38758ce60efe2644698e4",
    "submitter": {
        "id": 92397,
        "url": "http://patchwork.ozlabs.org/api/1.1/people/92397/?format=api",
        "name": "Thomas Gleixner",
        "email": "tglx@kernel.org"
    },
    "delegate": null,
    "mbox": "http://patchwork.ozlabs.org/project/netfilter-devel/patch/20260408114952.198028466@kernel.org/mbox/",
    "series": [
        {
            "id": 499126,
            "url": "http://patchwork.ozlabs.org/api/1.1/series/499126/?format=api",
            "web_url": "http://patchwork.ozlabs.org/project/netfilter-devel/list/?series=499126",
            "date": "2026-04-08T11:53:41",
            "name": "hrtimers: Prevent hrtimer interrupt starvation",
            "version": 2,
            "mbox": "http://patchwork.ozlabs.org/series/499126/mbox/"
        }
    ],
    "comments": "http://patchwork.ozlabs.org/api/patches/2220898/comments/",
    "check": "pending",
    "checks": "http://patchwork.ozlabs.org/api/patches/2220898/checks/",
    "tags": {},
    "headers": {
        "Return-Path": "\n <netfilter-devel+bounces-11717-incoming=patchwork.ozlabs.org@vger.kernel.org>",
        "X-Original-To": [
            "incoming@patchwork.ozlabs.org",
            "netfilter-devel@vger.kernel.org"
        ],
        "Delivered-To": "patchwork-incoming@legolas.ozlabs.org",
        "Authentication-Results": [
            "legolas.ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=kernel.org header.i=@kernel.org header.a=rsa-sha256\n header.s=k20201202 header.b=cTd0P04Q;\n\tdkim-atps=neutral",
            "legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org\n (client-ip=2600:3c09:e001:a7::12fc:5321; helo=sto.lore.kernel.org;\n envelope-from=netfilter-devel+bounces-11717-incoming=patchwork.ozlabs.org@vger.kernel.org;\n receiver=patchwork.ozlabs.org)",
            "smtp.subspace.kernel.org;\n\tdkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org\n header.b=\"cTd0P04Q\"",
            "smtp.subspace.kernel.org;\n arc=none smtp.client-ip=10.30.226.201"
        ],
        "Received": [
            "from sto.lore.kernel.org (sto.lore.kernel.org\n [IPv6:2600:3c09:e001:a7::12fc:5321])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519 server-signature ECDSA (secp384r1) server-digest SHA384)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4frM2828Vxz1yD3\n\tfor <incoming@patchwork.ozlabs.org>; Wed, 08 Apr 2026 21:55:12 +1000 (AEST)",
            "from smtp.subspace.kernel.org (conduit.subspace.kernel.org\n [100.90.174.1])\n\tby sto.lore.kernel.org (Postfix) with ESMTP id 7D89A3022C83\n\tfor <incoming@patchwork.ozlabs.org>; Wed,  8 Apr 2026 11:54:33 +0000 (UTC)",
            "from localhost.localdomain (localhost.localdomain [127.0.0.1])\n\tby smtp.subspace.kernel.org (Postfix) with ESMTP id C155C3BD236;\n\tWed,  8 Apr 2026 11:54:05 +0000 (UTC)",
            "from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org\n [10.30.226.201])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))\n\t(No client certificate requested)\n\tby smtp.subspace.kernel.org (Postfix) with ESMTPS id 480333B9D98;\n\tWed,  8 Apr 2026 11:54:05 +0000 (UTC)",
            "by smtp.kernel.org (Postfix) with ESMTPSA id 6B744C19424;\n\tWed,  8 Apr 2026 11:54:04 +0000 (UTC)"
        ],
        "ARC-Seal": "i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;\n\tt=1775649245; cv=none;\n b=RvV9WDn1UNKSuyKhUFM645aHiMzbleiarp+oePgMBGYcDW9uF+w4P16WjBoqo5eZmMo3z1l1fCHJZPYK2hPM9MyPw71shbhGRlvcFzDTwjbxHBa37oEh4md10kCqXkN6ZfKBrBY8whpXqse0wU26Q75+s5M2fsCpWZ63jRFh/6Q=",
        "ARC-Message-Signature": "i=1; a=rsa-sha256; d=subspace.kernel.org;\n\ts=arc-20240116; t=1775649245; c=relaxed/simple;\n\tbh=C9YlNozrQiTNSBjvrTYffGhKh+u7r91EEMREnD1qMfE=;\n\th=Date:Message-ID:From:To:Cc:Subject:References:MIME-Version:\n\t Content-Type;\n b=Uub1BpEHk+MCjIU40/+3Dfpp+tpHJKYuvL+Db+rK0HbWbhPwJrEmqeXDZOlhN1RhOUtv8U9rWDy1C5Z/RkUduCTdEf8ww+p2ppVBnn2v4/eAc4MOzZqyfOsG8Cy9wo7XLzS28xb3Y3HM3rFGRMHqnyfle+hPTAgIpEMilEl4nQk=",
        "ARC-Authentication-Results": "i=1; smtp.subspace.kernel.org;\n dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org\n header.b=cTd0P04Q; arc=none smtp.client-ip=10.30.226.201",
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;\n\ts=k20201202; t=1775649245;\n\tbh=C9YlNozrQiTNSBjvrTYffGhKh+u7r91EEMREnD1qMfE=;\n\th=Date:From:To:Cc:Subject:References:From;\n\tb=cTd0P04QcW5sWAV4M3ecA9ZwxuQBkVlEfmkCIPp8nQ/F4/6lVOWvXT7jxqAUk2sAX\n\t s3EbPUYjjJI8hhcC0p1xpvFTOY/5ZtAnNAasYrfciwcZrKMu1SvFRCUtrgG1hzQYH0\n\t 7mutRly4w14FSfisZHRYME0s2HKa3y6KdyBoujOKJCG0CgYojtG3N+F0d7Kfv4sRdl\n\t gYCyixZut4E5c6mVxFgLjFIjjW5GIPDWWDNm9CIvL195lk1Jmo3HsYbTlf3ziueIzF\n\t UHNs6riSum5VfwPitpt9Zjlf5pOu4D/q6mHnsRguNsit13UlUEbdT6A9/v8gDFsfm2\n\t hDqWXeZrXHVMA==",
        "Date": "Wed, 08 Apr 2026 13:54:01 +0200",
        "Message-ID": "<20260408114952.198028466@kernel.org>",
        "User-Agent": "quilt/0.68",
        "From": "Thomas Gleixner <tglx@kernel.org>",
        "To": "LKML <linux-kernel@vger.kernel.org>",
        "Cc": "\"Peter Zijlstra (Intel)\" <peterz@infradead.org>,\n Anna-Maria Behnsen <anna-maria@linutronix.de>,\n Frederic Weisbecker <frederic@kernel.org>,\n Calvin Owens <calvin@wbinvd.org>,\n John Stultz <jstultz@google.com>,\n Stephen Boyd <sboyd@kernel.org>,\n Alexander Viro <viro@zeniv.linux.org.uk>,\n Christian Brauner <brauner@kernel.org>,\n Jan Kara <jack@suse.cz>,\n linux-fsdevel@vger.kernel.org,\n Sebastian Reichel <sre@kernel.org>,\n linux-pm@vger.kernel.org,\n Pablo Neira Ayuso <pablo@netfilter.org>,\n Florian Westphal <fw@strlen.de>,\n Phil Sutter <phil@nwl.cc>,\n netfilter-devel@vger.kernel.org,\n coreteam@netfilter.org",
        "Subject": "[patch V2 04/11] posix-timers: Handle the timer_[re]arm() return\n value",
        "References": "<20260408102356.783133335@kernel.org>",
        "Precedence": "bulk",
        "X-Mailing-List": "netfilter-devel@vger.kernel.org",
        "List-Id": "<netfilter-devel.vger.kernel.org>",
        "List-Subscribe": "<mailto:netfilter-devel+subscribe@vger.kernel.org>",
        "List-Unsubscribe": "<mailto:netfilter-devel+unsubscribe@vger.kernel.org>",
        "MIME-Version": "1.0",
        "Content-Type": "text/plain; charset=UTF-8"
    },
    "content": "The [re]arm callbacks will return true when the timer was queued and false\nif it was already expired at enqueue time.\n\nIn both cases the call sites can trivially queue the signal right there,\nwhen the timer was already expired. That avoids a full round trip through\nthe hrtimer interrupt.\n\nSigned-off-by: Thomas Gleixner <tglx@kernel.org>\nAcked-by: Peter Zijlstra (Intel) <peterz@infradead.org>\nCc: Anna-Maria Behnsen <anna-maria@linutronix.de>\nCc: Frederic Weisbecker <frederic@kernel.org>\n\n---\n kernel/time/posix-timers.c |   22 +++++++++++++++++-----\n 1 file changed, 17 insertions(+), 5 deletions(-)",
    "diff": "--- a/kernel/time/posix-timers.c\n+++ b/kernel/time/posix-timers.c\n@@ -299,6 +299,8 @@ static bool common_hrtimer_rearm(struct\n \n static bool __posixtimer_deliver_signal(struct kernel_siginfo *info, struct k_itimer *timr)\n {\n+\tbool queued;\n+\n \tguard(spinlock)(&timr->it_lock);\n \n \t/*\n@@ -312,12 +314,18 @@ static bool __posixtimer_deliver_signal(\n \tif (!timr->it_interval || WARN_ON_ONCE(timr->it_status != POSIX_TIMER_REQUEUE_PENDING))\n \t\treturn true;\n \n-\ttimr->kclock->timer_rearm(timr);\n-\ttimr->it_status = POSIX_TIMER_ARMED;\n+\t/* timer_rearm() updates timr::it_overrun */\n+\tqueued = timr->kclock->timer_rearm(timr);\n+\n \ttimr->it_overrun_last = timr->it_overrun;\n \ttimr->it_overrun = -1LL;\n \t++timr->it_signal_seq;\n \tinfo->si_overrun = timer_overrun_to_int(timr);\n+\n+\tif (queued)\n+\t\ttimr->it_status = POSIX_TIMER_ARMED;\n+\telse\n+\t\tposix_timer_queue_signal(timr);\n \treturn true;\n }\n \n@@ -905,9 +913,13 @@ int common_timer_set(struct k_itimer *ti\n \t\texpires = timens_ktime_to_host(timr->it_clock, expires);\n \tsigev_none = timr->it_sigev_notify == SIGEV_NONE;\n \n-\tkc->timer_arm(timr, expires, flags & TIMER_ABSTIME, sigev_none);\n-\tif (!sigev_none)\n-\t\ttimr->it_status = POSIX_TIMER_ARMED;\n+\tif (kc->timer_arm(timr, expires, flags & TIMER_ABSTIME, sigev_none)) {\n+\t\tif (!sigev_none)\n+\t\t\ttimr->it_status = POSIX_TIMER_ARMED;\n+\t} else {\n+\t\t/* Timer was already expired, queue the signal */\n+\t\tposix_timer_queue_signal(timr);\n+\t}\n \treturn 0;\n }\n \n",
    "prefixes": [
        "V2",
        "04/11"
    ]
}