Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/patches/2216652/?format=api
{ "id": 2216652, "url": "http://patchwork.ozlabs.org/api/patches/2216652/?format=api", "web_url": "http://patchwork.ozlabs.org/project/linuxppc-dev/patch/20260327021403.214713-20-usama.arif@linux.dev/", "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": "<20260327021403.214713-20-usama.arif@linux.dev>", "list_archive_url": "https://lore.kernel.org/linuxppc-dev/20260327021403.214713-20-usama.arif@linux.dev/", "date": "2026-03-27T02:09:01", "name": "[v3,19/24] mm: thp: add THP_SPLIT_PMD_FAILED counter", "commit_ref": null, "pull_url": null, "state": "handled-elsewhere", "archived": false, "hash": "25656a7519de5761ed8c419c9e61485726a2d502", "submitter": { "id": 92719, "url": "http://patchwork.ozlabs.org/api/people/92719/?format=api", "name": "Usama Arif", "email": "usama.arif@linux.dev" }, "delegate": null, "mbox": "http://patchwork.ozlabs.org/project/linuxppc-dev/patch/20260327021403.214713-20-usama.arif@linux.dev/mbox/", "series": [ { "id": 497678, "url": "http://patchwork.ozlabs.org/api/series/497678/?format=api", "web_url": "http://patchwork.ozlabs.org/project/linuxppc-dev/list/?series=497678", "date": "2026-03-27T02:08:43", "name": "[v3,01/24] mm: thp: make split_huge_pmd functions return int for error propagation", "version": 3, "mbox": "http://patchwork.ozlabs.org/series/497678/mbox/" } ], "comments": "http://patchwork.ozlabs.org/api/patches/2216652/comments/", "check": "pending", "checks": "http://patchwork.ozlabs.org/api/patches/2216652/checks/", "tags": {}, "related": [], "headers": { "Return-Path": "\n <linuxppc-dev+bounces-18862-incoming=patchwork.ozlabs.org@lists.ozlabs.org>", "X-Original-To": [ "incoming@patchwork.ozlabs.org", "linuxppc-dev@lists.ozlabs.org" ], "Delivered-To": "patchwork-incoming@legolas.ozlabs.org", "Authentication-Results": [ "legolas.ozlabs.org;\n\tdkim=pass (1024-bit key;\n unprotected) header.d=linux.dev header.i=@linux.dev header.a=rsa-sha256\n header.s=key1 header.b=DjzOCy7C;\n\tdkim-atps=neutral", "legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=lists.ozlabs.org\n (client-ip=2404:9400:21b9:f100::1; helo=lists.ozlabs.org;\n envelope-from=linuxppc-dev+bounces-18862-incoming=patchwork.ozlabs.org@lists.ozlabs.org;\n receiver=patchwork.ozlabs.org)", "lists.ozlabs.org;\n arc=none smtp.remote-ip=\"2001:41d0:1004:224b::ae\"", "lists.ozlabs.org;\n dmarc=pass (p=none dis=none) header.from=linux.dev", "lists.ozlabs.org;\n\tdkim=pass (1024-bit key;\n unprotected) header.d=linux.dev header.i=@linux.dev header.a=rsa-sha256\n header.s=key1 header.b=DjzOCy7C;\n\tdkim-atps=neutral", "lists.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=linux.dev\n (client-ip=2001:41d0:1004:224b::ae; helo=out-174.mta0.migadu.com;\n envelope-from=usama.arif@linux.dev; receiver=lists.ozlabs.org)" ], "Received": [ "from lists.ozlabs.org (lists.ozlabs.org\n [IPv6:2404:9400:21b9:f100::1])\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 4fhkmR0whQz1y1j\n\tfor <incoming@patchwork.ozlabs.org>; Fri, 27 Mar 2026 13:16:55 +1100 (AEDT)", "from boromir.ozlabs.org (localhost [127.0.0.1])\n\tby lists.ozlabs.org (Postfix) with ESMTP id 4fhklp4mssz3bYf;\n\tFri, 27 Mar 2026 13:16:22 +1100 (AEDT)", "from out-174.mta0.migadu.com (out-174.mta0.migadu.com\n [IPv6:2001:41d0:1004:224b::ae])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519 server-signature RSA-PSS (2048 bits) server-digest\n SHA256)\n\t(No client certificate requested)\n\tby lists.ozlabs.org (Postfix) with ESMTPS id 4fhkln6nyXz2yqt\n\tfor <linuxppc-dev@lists.ozlabs.org>; Fri, 27 Mar 2026 13:16:21 +1100 (AEDT)" ], "ARC-Seal": "i=1; a=rsa-sha256; d=lists.ozlabs.org; s=201707; t=1774577782;\n\tcv=none;\n b=kIbgK/rINBpa5fCO8W8kcJIa9jSKZW5SJXV5uPqFeNSbhNwRE3kieEBei9OKHSwMwMP4ie2Xage0ntghfPuVhqA5p2jKuY6+JJiJ3pFGr48a3xZoGsonElWYZYg83Z9EaSPOOAcjr99tEt7f7lcyTJJhDzbbmXXsMslrp0uzvHNVIB0obAjkk0uA6O3jWmzg10J4IBof0a0hbHo1AhrhO4roruMujOGJbRBeV8ihgBBmuxVQypuYv9bVAiP3TPbuYpfJZDJhGqp0rXta6OAymOmC4eu7ikP0axjUDJTENzY5cpz8ZhDUgRaiz2T4JeCXtLxRlnAlixTVLtv15Sq0dA==", "ARC-Message-Signature": "i=1; a=rsa-sha256; d=lists.ozlabs.org; s=201707;\n\tt=1774577782; c=relaxed/relaxed;\n\tbh=sRAVBAAGLIHNuPxenAu6Zv4mVQpIwOINutBDBMSDYBI=;\n\th=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References:\n\t MIME-Version;\n b=NDlH6XL4/eY2qIvbxEjqFwnhDZ28dnzBH5Zmi5rBklj1fGJ64noxsvu3iSoTuNnafVKwTlfsCsoVcS870ApJJcorsOBNKCUfzRMQ8gkbxslV0+aaAuVW++0TixDJ3oXh6EXTBNrXVrfdjAvOrRQkxP2DDYdDSPjUd2vKFNrfEj4DV34vYuKzKyKfRJv9Ng5IIHU90szSQZyBeZMzY/4J6qVBwnL9BnXpVdEVB9KQ2Dp+zmYBZ/QNQXpKsZ1iwOjNC3h+G1Ql4WmWj7i7XrA7iJlivCnxwsEs+wfAC3imyCFdZrOLUpVbbL72wwwSfOWHC11yp35N547/Aq/oi+1aRg==", "ARC-Authentication-Results": "i=1; lists.ozlabs.org;\n dmarc=pass (p=none dis=none) header.from=linux.dev; dkim=pass (1024-bit key;\n unprotected) header.d=linux.dev header.i=@linux.dev header.a=rsa-sha256\n header.s=key1 header.b=DjzOCy7C; dkim-atps=neutral;\n spf=pass (client-ip=2001:41d0:1004:224b::ae; helo=out-174.mta0.migadu.com;\n envelope-from=usama.arif@linux.dev;\n receiver=lists.ozlabs.org) smtp.mailfrom=linux.dev", "X-Report-Abuse": "Please report any abuse attempt to abuse@migadu.com and\n include these headers.", "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.dev; s=key1;\n\tt=1774577763;\n\th=from:from:reply-to:subject:subject:date:date:message-id:message-id:\n\t to:to:cc:cc:mime-version:mime-version:\n\t content-transfer-encoding:content-transfer-encoding:\n\t in-reply-to:in-reply-to:references:references;\n\tbh=sRAVBAAGLIHNuPxenAu6Zv4mVQpIwOINutBDBMSDYBI=;\n\tb=DjzOCy7CYYN46My00Xi1fs3rAUMoskKmV/KpehE3GWn6mX4MPqoLYrTNgfZYBGEzLR8iqX\n\tSjzK869MdpGpt78ig/FnB50pdDMBRhVufNL3A3S6FY7A6Fna4cqbAKf1pwbFNITcjpiouQ\n\tIsF7YtJduydG7B8wGDwJ7Ww4Rl22lmg=", "From": "Usama Arif <usama.arif@linux.dev>", "To": "Andrew Morton <akpm@linux-foundation.org>,\n\tdavid@kernel.org,\n\tLorenzo Stoakes <ljs@kernel.org>,\n\twilly@infradead.org,\n\tlinux-mm@kvack.org", "Cc": "fvdl@google.com,\n\thannes@cmpxchg.org,\n\triel@surriel.com,\n\tshakeel.butt@linux.dev,\n\tkas@kernel.org,\n\tbaohua@kernel.org,\n\tdev.jain@arm.com,\n\tbaolin.wang@linux.alibaba.com,\n\tnpache@redhat.com,\n\tLiam.Howlett@oracle.com,\n\tryan.roberts@arm.com,\n\tVlastimil Babka <vbabka@kernel.org>,\n\tlance.yang@linux.dev,\n\tlinux-kernel@vger.kernel.org,\n\tkernel-team@meta.com,\n\tmaddy@linux.ibm.com,\n\tmpe@ellerman.id.au,\n\tlinuxppc-dev@lists.ozlabs.org,\n\thca@linux.ibm.com,\n\tgor@linux.ibm.com,\n\tagordeev@linux.ibm.com,\n\tborntraeger@linux.ibm.com,\n\tsvens@linux.ibm.com,\n\tlinux-s390@vger.kernel.org,\n\tUsama Arif <usama.arif@linux.dev>", "Subject": "[v3 19/24] mm: thp: add THP_SPLIT_PMD_FAILED counter", "Date": "Thu, 26 Mar 2026 19:09:01 -0700", "Message-ID": "<20260327021403.214713-20-usama.arif@linux.dev>", "In-Reply-To": "<20260327021403.214713-1-usama.arif@linux.dev>", "References": "<20260327021403.214713-1-usama.arif@linux.dev>", "X-Mailing-List": "linuxppc-dev@lists.ozlabs.org", "List-Id": "<linuxppc-dev.lists.ozlabs.org>", "List-Help": "<mailto:linuxppc-dev+help@lists.ozlabs.org>", "List-Owner": "<mailto:linuxppc-dev+owner@lists.ozlabs.org>", "List-Post": "<mailto:linuxppc-dev@lists.ozlabs.org>", "List-Archive": "<https://lore.kernel.org/linuxppc-dev/>,\n <https://lists.ozlabs.org/pipermail/linuxppc-dev/>", "List-Subscribe": "<mailto:linuxppc-dev+subscribe@lists.ozlabs.org>,\n <mailto:linuxppc-dev+subscribe-digest@lists.ozlabs.org>,\n <mailto:linuxppc-dev+subscribe-nomail@lists.ozlabs.org>", "List-Unsubscribe": "<mailto:linuxppc-dev+unsubscribe@lists.ozlabs.org>", "Precedence": "list", "MIME-Version": "1.0", "Content-Transfer-Encoding": "8bit", "X-Migadu-Flow": "FLOW_OUT", "X-Spam-Status": "No, score=-0.2 required=3.0 tests=DKIM_SIGNED,DKIM_VALID,\n\tDKIM_VALID_AU,DKIM_VALID_EF,SPF_HELO_PASS,SPF_PASS autolearn=disabled\n\tversion=4.0.1 OzLabs 8", "X-Spam-Checker-Version": "SpamAssassin 4.0.1 (2024-03-25) on lists.ozlabs.org" }, "content": "Add a vmstat counter to track PTE allocation failures during PMD split.\nThis enables monitoring of split failures due to memory pressure after\nthe lazy PTE page table allocation change.\n\nThe counter is incremented in three places:\n- __split_huge_pmd(): Main entry point for splitting a PMD\n- try_to_unmap_one(): When reclaim needs to split a PMD-mapped THP\n- try_to_migrate_one(): When migration needs to split a PMD-mapped THP\n\nSigned-off-by: Usama Arif <usama.arif@linux.dev>\n---\n include/linux/vm_event_item.h | 1 +\n mm/huge_memory.c | 1 +\n mm/rmap.c | 7 +++++++\n mm/vmstat.c | 1 +\n 4 files changed, 10 insertions(+)", "diff": "diff --git a/include/linux/vm_event_item.h b/include/linux/vm_event_item.h\nindex 03fe95f5a0201..ce696cf7d6321 100644\n--- a/include/linux/vm_event_item.h\n+++ b/include/linux/vm_event_item.h\n@@ -98,6 +98,7 @@ enum vm_event_item { PGPGIN, PGPGOUT, PSWPIN, PSWPOUT,\n \t\tTHP_DEFERRED_SPLIT_PAGE,\n \t\tTHP_UNDERUSED_SPLIT_PAGE,\n \t\tTHP_SPLIT_PMD,\n+\t\tTHP_SPLIT_PMD_FAILED,\n \t\tTHP_SCAN_EXCEED_NONE_PTE,\n \t\tTHP_SCAN_EXCEED_SWAP_PTE,\n \t\tTHP_SCAN_EXCEED_SHARED_PTE,\ndiff --git a/mm/huge_memory.c b/mm/huge_memory.c\nindex 48c4884a6f386..b93718931e729 100644\n--- a/mm/huge_memory.c\n+++ b/mm/huge_memory.c\n@@ -3347,6 +3347,7 @@ int __split_huge_pmd(struct vm_area_struct *vma, pmd_t *pmd,\n \tif (vma_is_anonymous(vma) && !arch_needs_pgtable_deposit()) {\n \t\tpgtable = pte_alloc_one(vma->vm_mm);\n \t\tif (!pgtable) {\n+\t\t\tcount_vm_event(THP_SPLIT_PMD_FAILED);\n \t\t\tmmu_notifier_invalidate_range_end(&range);\n \t\t\treturn -ENOMEM;\n \t\t}\ndiff --git a/mm/rmap.c b/mm/rmap.c\nindex efbcdd3b32632..a0180f62d9f69 100644\n--- a/mm/rmap.c\n+++ b/mm/rmap.c\n@@ -2087,8 +2087,12 @@ static bool try_to_unmap_one(struct folio *folio, struct vm_area_struct *vma,\n \t\t\t\tpgtable_t pgtable = prealloc_pte;\n \n \t\t\t\tprealloc_pte = NULL;\n+\n \t\t\t\tif (!arch_needs_pgtable_deposit() && !pgtable &&\n \t\t\t\t vma_is_anonymous(vma)) {\n+#if defined(CONFIG_TRANSPARENT_HUGEPAGE)\n+\t\t\t\t\tcount_vm_event(THP_SPLIT_PMD_FAILED);\n+#endif\n \t\t\t\t\tpage_vma_mapped_walk_done(&pvmw);\n \t\t\t\t\tret = false;\n \t\t\t\t\tbreak;\n@@ -2491,6 +2495,9 @@ static bool try_to_migrate_one(struct folio *folio, struct vm_area_struct *vma,\n \t\t\t\tprealloc_pte = NULL;\n \t\t\t\tif (!arch_needs_pgtable_deposit() && !pgtable &&\n \t\t\t\t vma_is_anonymous(vma)) {\n+#if defined(CONFIG_TRANSPARENT_HUGEPAGE)\n+\t\t\t\t\tcount_vm_event(THP_SPLIT_PMD_FAILED);\n+#endif\n \t\t\t\t\tpage_vma_mapped_walk_done(&pvmw);\n \t\t\t\t\tret = false;\n \t\t\t\t\tbreak;\ndiff --git a/mm/vmstat.c b/mm/vmstat.c\nindex 2370c6fb1fcd6..b8df9c7296d8a 100644\n--- a/mm/vmstat.c\n+++ b/mm/vmstat.c\n@@ -1409,6 +1409,7 @@ const char * const vmstat_text[] = {\n \t[I(THP_DEFERRED_SPLIT_PAGE)]\t\t= \"thp_deferred_split_page\",\n \t[I(THP_UNDERUSED_SPLIT_PAGE)]\t\t= \"thp_underused_split_page\",\n \t[I(THP_SPLIT_PMD)]\t\t\t= \"thp_split_pmd\",\n+\t[I(THP_SPLIT_PMD_FAILED)]\t\t= \"thp_split_pmd_failed\",\n \t[I(THP_SCAN_EXCEED_NONE_PTE)]\t\t= \"thp_scan_exceed_none_pte\",\n \t[I(THP_SCAN_EXCEED_SWAP_PTE)]\t\t= \"thp_scan_exceed_swap_pte\",\n \t[I(THP_SCAN_EXCEED_SHARED_PTE)]\t\t= \"thp_scan_exceed_share_pte\",\n", "prefixes": [ "v3", "19/24" ] }