get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 2217662,
    "url": "http://patchwork.ozlabs.org/api/patches/2217662/?format=api",
    "web_url": "http://patchwork.ozlabs.org/project/ltp/patch/20260330102909.863484-3-vasileios.almpanis@virtuozzo.com/",
    "project": {
        "id": 59,
        "url": "http://patchwork.ozlabs.org/api/projects/59/?format=api",
        "name": "Linux Test Project development",
        "link_name": "ltp",
        "list_id": "ltp.lists.linux.it",
        "list_email": "ltp@lists.linux.it",
        "web_url": "",
        "scm_url": "",
        "webscm_url": "",
        "list_archive_url": "",
        "list_archive_url_format": "",
        "commit_url_format": ""
    },
    "msgid": "<20260330102909.863484-3-vasileios.almpanis@virtuozzo.com>",
    "list_archive_url": null,
    "date": "2026-03-30T10:20:25",
    "name": "[2/2] memcg: scale memcontrol03 checkpoint timeouts for slow kernels",
    "commit_ref": null,
    "pull_url": null,
    "state": "needs-review-ack",
    "archived": false,
    "hash": "3f931ddfef2545a0f02e5204107acdc561adf222",
    "submitter": {
        "id": 92306,
        "url": "http://patchwork.ozlabs.org/api/people/92306/?format=api",
        "name": "Vasileios Almpanis",
        "email": "vasileios.almpanis@virtuozzo.com"
    },
    "delegate": null,
    "mbox": "http://patchwork.ozlabs.org/project/ltp/patch/20260330102909.863484-3-vasileios.almpanis@virtuozzo.com/mbox/",
    "series": [
        {
            "id": 497995,
            "url": "http://patchwork.ozlabs.org/api/series/497995/?format=api",
            "web_url": "http://patchwork.ozlabs.org/project/ltp/list/?series=497995",
            "date": "2026-03-30T10:20:23",
            "name": "configurable wake timeout and memcontrol03 fixes",
            "version": 1,
            "mbox": "http://patchwork.ozlabs.org/series/497995/mbox/"
        }
    ],
    "comments": "http://patchwork.ozlabs.org/api/patches/2217662/comments/",
    "check": "success",
    "checks": "http://patchwork.ozlabs.org/api/patches/2217662/checks/",
    "tags": {},
    "related": [],
    "headers": {
        "Return-Path": "<ltp-bounces+incoming=patchwork.ozlabs.org@lists.linux.it>",
        "X-Original-To": [
            "incoming@patchwork.ozlabs.org",
            "ltp@lists.linux.it"
        ],
        "Delivered-To": [
            "patchwork-incoming@legolas.ozlabs.org",
            "ltp@picard.linux.it"
        ],
        "Authentication-Results": [
            "legolas.ozlabs.org;\n\tdkim=pass (1024-bit key;\n unprotected) header.d=lists.linux.it header.i=@lists.linux.it\n header.a=rsa-sha256 header.s=picard header.b=ClqpjkeA;\n\tdkim=fail reason=\"signature verification failed\" (2048-bit key;\n secure) header.d=virtuozzo.com header.i=@virtuozzo.com header.a=rsa-sha256\n header.s=relay header.b=arBkJWrN;\n\tdkim-atps=neutral",
            "legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=lists.linux.it\n (client-ip=2001:1418:10:5::2; helo=picard.linux.it;\n envelope-from=ltp-bounces+incoming=patchwork.ozlabs.org@lists.linux.it;\n receiver=patchwork.ozlabs.org)"
        ],
        "Received": [
            "from picard.linux.it (picard.linux.it [IPv6:2001:1418:10:5::2])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4fknZD20PXz1yG8\n\tfor <incoming@patchwork.ozlabs.org>; Mon, 30 Mar 2026 21:30:12 +1100 (AEDT)",
            "from picard.linux.it (localhost [IPv6:::1])\n\tby picard.linux.it (Postfix) with ESMTP id 3AAC13E4F2B\n\tfor <incoming@patchwork.ozlabs.org>; Mon, 30 Mar 2026 12:30:10 +0200 (CEST)",
            "from in-7.smtp.seeweb.it (in-7.smtp.seeweb.it\n [IPv6:2001:4b78:1:20::7])\n (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n key-exchange X25519 server-signature ECDSA (secp384r1))\n (No client certificate requested)\n by picard.linux.it (Postfix) with ESMTPS id 21B083E4F1A\n for <ltp@lists.linux.it>; Mon, 30 Mar 2026 12:29:41 +0200 (CEST)",
            "from relay.virtuozzo.com (relay.virtuozzo.com [130.117.225.111])\n (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest\n SHA256)\n (No client certificate requested)\n by in-7.smtp.seeweb.it (Postfix) with ESMTPS id BC9F6200AEB\n for <ltp@lists.linux.it>; Mon, 30 Mar 2026 12:29:40 +0200 (CEST)",
            "from [130.117.225.5] (helo=dev010.aci.vzint.dev)\n by relay.virtuozzo.com with esmtp (Exim 4.96)\n (envelope-from <vasileios.almpanis@virtuozzo.com>)\n id 1w79qE-002jRx-1H; Mon, 30 Mar 2026 12:29:32 +0200"
        ],
        "DKIM-Signature": [
            "v=1; a=rsa-sha256; c=relaxed/simple; d=lists.linux.it;\n i=@lists.linux.it; q=dns/txt; s=picard; t=1774866610; h=to : date :\n message-id : in-reply-to : references : mime-version : subject :\n list-id : list-unsubscribe : list-archive : list-post : list-help :\n list-subscribe : from : reply-to : content-type :\n content-transfer-encoding : sender : from;\n bh=MRId74mcbLhYrNbyBQRVF2BTSsBwPeY1bwQNusXBeqk=;\n b=ClqpjkeA5L/vldsnJGPVRZdsK6Xa/Dmwq9B+xsWs0BiF3gph5/c/FUSCflH+3lV6k610/\n lhM5IKSheu/+lvmqqIQOfsOq9yLTYAjlFWCtKKVfspv+VXwjM0Qcam2gYBkS9pGRcDTBOuG\n En0eOnsYgCMnqvhPdSAiG9t3A7wX5Fs=",
            "v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;\n d=virtuozzo.com; s=relay; h=MIME-Version:Message-ID:Date:Subject:From:\n Content-Type; bh=MUd7B0+CG9tJ9JvLS1PABSpkx8XaY0Xum98X/YE5Sh0=; b=arBkJWrNarTC\n ah2jBHvd7eJszYUouDZt/AVyHlgV9fGBZ63lrDkmODxOTQYEuXpp9WVis/Hhki0w5EcitrMQpxhcF\n Yf/vU6WTpgx3bH5mXvjIYb0F4zzZ/mnyg6RPtYf06mSS0Y1aW7eypvyEBghtJo21usuT54ttaby2E\n DcZLPn5hp/H4fV7jRWuX6aq7J7ckRBVtEjy/F1jkgUnqhAbRVaqlCxyGToiSv03JyprQxHzLoAC7A\n Qtdyh8uVUPP1B8V2fTzkCDMR9YWXi0tluHuzM4GXASr4ng5AAEoSWjWjMhGtJlUMHKHJsEK8r4APi\n 9Oo4r4KfUdOz799If5btxw==;"
        ],
        "To": "ltp@lists.linux.it",
        "Date": "Mon, 30 Mar 2026 10:20:25 +0000",
        "Message-ID": "<20260330102909.863484-3-vasileios.almpanis@virtuozzo.com>",
        "X-Mailer": "git-send-email 2.43.0",
        "In-Reply-To": "<20260330102909.863484-1-vasileios.almpanis@virtuozzo.com>",
        "References": "<20260330102909.863484-1-vasileios.almpanis@virtuozzo.com>",
        "MIME-Version": "1.0",
        "X-Spam-Status": "No, score=0.1 required=7.0 tests=DKIM_SIGNED,DKIM_VALID,\n DKIM_VALID_AU,DKIM_VALID_EF,SPF_HELO_NONE,SPF_PASS shortcircuit=no\n autolearn=disabled version=4.0.1",
        "X-Spam-Checker-Version": "SpamAssassin 4.0.1 (2024-03-25) on in-7.smtp.seeweb.it",
        "X-Virus-Scanned": "clamav-milter 1.0.9 at in-7.smtp.seeweb.it",
        "X-Virus-Status": "Clean",
        "Subject": "[LTP] [PATCH 2/2] memcg: scale memcontrol03 checkpoint timeouts for\n slow kernels",
        "X-BeenThere": "ltp@lists.linux.it",
        "X-Mailman-Version": "2.1.29",
        "Precedence": "list",
        "List-Id": "Linux Test Project <ltp.lists.linux.it>",
        "List-Unsubscribe": "<https://lists.linux.it/options/ltp>,\n <mailto:ltp-request@lists.linux.it?subject=unsubscribe>",
        "List-Archive": "<http://lists.linux.it/pipermail/ltp/>",
        "List-Post": "<mailto:ltp@lists.linux.it>",
        "List-Help": "<mailto:ltp-request@lists.linux.it?subject=help>",
        "List-Subscribe": "<https://lists.linux.it/listinfo/ltp>,\n <mailto:ltp-request@lists.linux.it?subject=subscribe>",
        "From": "Vasileios Almpanis via ltp <ltp@lists.linux.it>",
        "Reply-To": "Vasileios Almpanis <vasileios.almpanis@virtuozzo.com>",
        "Content-Type": "text/plain; charset=\"us-ascii\"",
        "Content-Transfer-Encoding": "7bit",
        "Errors-To": "ltp-bounces+incoming=patchwork.ozlabs.org@lists.linux.it",
        "Sender": "\"ltp\" <ltp-bounces+incoming=patchwork.ozlabs.org@lists.linux.it>"
    },
    "content": "The default checkpoint wake/wait budget is 10s. Pagecache setup plus fsync\nacross several filesystems can exceed that on KASAN, lockdep, or otherwise\nslow configs. Parents then fail checkpoint wait or wake, children stay in\nleaf cgroups, and framework cgroup teardown hits EBUSY.\n\nUse tst_multiply_timeout(10) * 1000 ms for CHILD_IDLE / TEST_DONE waits,\nthe matching CHILD_IDLE wake, and TEST_DONE wake in cleanup so timeouts\nfollow LTP_TIMEOUT_MUL and slow-kernel scaling like other tests.\n\nSigned-off-by: Vasileios Almpanis <vasileios.almpanis@virtuozzo.com>\n---\n testcases/kernel/controllers/memcg/memcontrol03.c | 13 +++++++------\n 1 file changed, 7 insertions(+), 6 deletions(-)",
    "diff": "diff --git a/testcases/kernel/controllers/memcg/memcontrol03.c b/testcases/kernel/controllers/memcg/memcontrol03.c\nindex 493e970ab..5820621e1 100644\n--- a/testcases/kernel/controllers/memcg/memcontrol03.c\n+++ b/testcases/kernel/controllers/memcg/memcontrol03.c\n@@ -41,6 +41,7 @@\n #include \"memcontrol_common.h\"\n \n #define TMPDIR \"mntdir\"\n+#define CHECKPOINT_TIMEOUT_MS (tst_multiply_timeout(10) * 1000)\n \n static struct tst_cg_group *trunk_cg[3];\n static struct tst_cg_group *leaf_cg[4];\n@@ -72,8 +73,9 @@ static void cleanup_sub_groups(void)\n \t\tif (!leaf_cg[i - 1])\n \t\t\tcontinue;\n \n-\t\tTST_CHECKPOINT_WAKE2(TEST_DONE,\n-\t\t\t\t     ARRAY_SIZE(leaf_cg) - 1);\n+\t\tTST_CHECKPOINT_WAKE2_TIMEOUT(TEST_DONE,\n+\t\t\t\t\t     ARRAY_SIZE(leaf_cg) - 1,\n+\t\t\t\t\t     CHECKPOINT_TIMEOUT_MS);\n \t\ttst_reap_children();\n \t\tbreak;\n \t}\n@@ -140,7 +142,7 @@ static void alloc_pagecache_in_child(const struct tst_cg_group *const cg,\n \tsize_t cgmem;\n \n \tif (pid) {\n-\t\tTST_CHECKPOINT_WAIT(CHILD_IDLE);\n+\t\tTST_CHECKPOINT_WAIT2(CHILD_IDLE, CHECKPOINT_TIMEOUT_MS);\n \t\treturn;\n \t}\n \n@@ -155,9 +157,8 @@ static void alloc_pagecache_in_child(const struct tst_cg_group *const cg,\n \t\talloc_pagecache(fd, size);\n \n \tSAFE_FSYNC(fd);\n-\n-\tTST_CHECKPOINT_WAKE(CHILD_IDLE);\n-\tTST_CHECKPOINT_WAIT(TEST_DONE);\n+\tTST_CHECKPOINT_WAKE_TIMEOUT(CHILD_IDLE, CHECKPOINT_TIMEOUT_MS);\n+\tTST_CHECKPOINT_WAIT2(TEST_DONE, CHECKPOINT_TIMEOUT_MS);\n \texit(0);\n }\n \n",
    "prefixes": [
        "2/2"
    ]
}