{"id":2220083,"url":"http://patchwork.ozlabs.org/api/covers/2220083/?format=json","web_url":"http://patchwork.ozlabs.org/project/linuxppc-dev/cover/cover.1775466329.git.sayalip@linux.ibm.com/","project":{"id":2,"url":"http://patchwork.ozlabs.org/api/projects/2/?format=json","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":"<cover.1775466329.git.sayalip@linux.ibm.com>","list_archive_url":"https://lore.kernel.org/linuxppc-dev/cover.1775466329.git.sayalip@linux.ibm.com/","date":"2026-04-06T09:19:19","name":"[v4,00/15] selftests/mm: fix failures and robustness improvements","submitter":{"id":92656,"url":"http://patchwork.ozlabs.org/api/people/92656/?format=json","name":"Sayali Patil","email":"sayalip@linux.ibm.com"},"mbox":"http://patchwork.ozlabs.org/project/linuxppc-dev/cover/cover.1775466329.git.sayalip@linux.ibm.com/mbox/","series":[{"id":498833,"url":"http://patchwork.ozlabs.org/api/series/498833/?format=json","web_url":"http://patchwork.ozlabs.org/project/linuxppc-dev/list/?series=498833","date":"2026-04-06T09:19:22","name":"selftests/mm: fix failures and robustness improvements","version":4,"mbox":"http://patchwork.ozlabs.org/series/498833/mbox/"}],"comments":"http://patchwork.ozlabs.org/api/covers/2220083/comments/","headers":{"Return-Path":"\n <linuxppc-dev+bounces-19398-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 (2048-bit key;\n unprotected) header.d=ibm.com header.i=@ibm.com header.a=rsa-sha256\n header.s=pp1 header.b=LDFARfW0;\n\tdkim-atps=neutral","legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=lists.ozlabs.org\n (client-ip=112.213.38.117; helo=lists.ozlabs.org;\n envelope-from=linuxppc-dev+bounces-19398-incoming=patchwork.ozlabs.org@lists.ozlabs.org;\n receiver=patchwork.ozlabs.org)","lists.ozlabs.org;\n arc=none smtp.remote-ip=148.163.156.1","lists.ozlabs.org;\n dmarc=pass (p=none dis=none) header.from=linux.ibm.com","lists.ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=ibm.com header.i=@ibm.com header.a=rsa-sha256\n header.s=pp1 header.b=LDFARfW0;\n\tdkim-atps=neutral","lists.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=linux.ibm.com\n (client-ip=148.163.156.1; helo=mx0a-001b2d01.pphosted.com;\n envelope-from=sayalip@linux.ibm.com; receiver=lists.ozlabs.org)"],"Received":["from lists.ozlabs.org (lists.ozlabs.org [112.213.38.117])\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 4fq3jv2KpWz1y2d\n\tfor <incoming@patchwork.ozlabs.org>; Mon, 06 Apr 2026 19:21:39 +1000 (AEST)","from boromir.ozlabs.org (localhost [127.0.0.1])\n\tby lists.ozlabs.org (Postfix) with ESMTP id 4fq3jB1W4pz2yjs;\n\tMon, 06 Apr 2026 19:21:02 +1000 (AEST)","from mx0a-001b2d01.pphosted.com (mx0a-001b2d01.pphosted.com\n [148.163.156.1])\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 4fq3j930tqz2yhP\n\tfor <linuxppc-dev@lists.ozlabs.org>; Mon, 06 Apr 2026 19:21:01 +1000 (AEST)","from pps.filterd (m0353729.ppops.net [127.0.0.1])\n\tby mx0a-001b2d01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id\n 635HRL7A3181379;\n\tMon, 6 Apr 2026 09:19:48 GMT","from ppma21.wdc07v.mail.ibm.com\n (5b.69.3da9.ip4.static.sl-reverse.com [169.61.105.91])\n\tby mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 4datap5vnk-1\n\t(version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);\n\tMon, 06 Apr 2026 09:19:47 +0000 (GMT)","from pps.filterd (ppma21.wdc07v.mail.ibm.com [127.0.0.1])\n\tby ppma21.wdc07v.mail.ibm.com (8.18.1.2/8.18.1.2) with ESMTP id\n 6365ZcD3020501;\n\tMon, 6 Apr 2026 09:19:46 GMT","from smtprelay07.fra02v.mail.ibm.com ([9.218.2.229])\n\tby ppma21.wdc07v.mail.ibm.com (PPS) with ESMTPS id 4dbdync2v3-1\n\t(version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);\n\tMon, 06 Apr 2026 09:19:46 +0000","from smtpav02.fra02v.mail.ibm.com (smtpav02.fra02v.mail.ibm.com\n [10.20.54.101])\n\tby smtprelay07.fra02v.mail.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id\n 6369Jgdb35717392\n\t(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK);\n\tMon, 6 Apr 2026 09:19:42 GMT","from smtpav02.fra02v.mail.ibm.com (unknown [127.0.0.1])\n\tby IMSVA (Postfix) with ESMTP id 1790820043;\n\tMon,  6 Apr 2026 09:19:42 +0000 (GMT)","from smtpav02.fra02v.mail.ibm.com (unknown [127.0.0.1])\n\tby IMSVA (Postfix) with ESMTP id A062620040;\n\tMon,  6 Apr 2026 09:19:38 +0000 (GMT)","from li-3f69264c-2ce6-11b2-a85c-c3f414d24014.bl1-in.ibm.com (unknown\n [9.123.3.209])\n\tby smtpav02.fra02v.mail.ibm.com (Postfix) with ESMTP;\n\tMon,  6 Apr 2026 09:19:38 +0000 (GMT)"],"ARC-Seal":"i=1; a=rsa-sha256; d=lists.ozlabs.org; s=201707; t=1775467262;\n\tcv=none;\n b=OgScSMJlTFzq7UpEQiWqKPhIcB8RAV2Ods7HG/voVaJJxxB8Ns7kAkwQwlISm5olL5XfHSM1tmcHE5SJq/thyXNIq9NCT5wO84vfI5R92/i+zMtQ0cwBf3XB4/oyB34My5/Uo1VJnrmtYDbuwnrGbkUJ5JHr6/bl/p8TXnyWY36njXQ/o80D8DNTzCU6APYMNHrQwgyih+WSOMkZjTvFIg6IF9wKgtNQl6j2KLMPt4uzldbdwtLZJ7LPNuZwxIaBgmllsjuNOkAdMUjTfySIJFx1zJh1SgFWzt0iYCFhbsQoSCXTg+3EdRHK5f1CSENCs9jFsYqqRhwrJELTEqddtA==","ARC-Message-Signature":"i=1; a=rsa-sha256; d=lists.ozlabs.org; s=201707;\n\tt=1775467262; c=relaxed/relaxed;\n\tbh=OT+OQFCgRq+Kj1jonLnfSvCEwfsneE3cw0acLy20e6Y=;\n\th=From:To:Cc:Subject:Date:Message-ID:MIME-Version:Content-Type;\n b=AV948n/HAiAwbqejuJCy4lCdfGag9Pt1HQVpztOXB9Fp/mvdyEjS1xkvYLGEEneNbWpDQAeg/DO94Xs6WehdMfOlLg3vCl5Wv6STT9rdp2iRsnHzk/35lztMdzKeJdumWa1VKPhRnpaEi21aWhT63/Iq6XBZH2yJi7j2OVNEjS93f/tv1ZBuuOK126bdHLhjF/vtuhJvL143tfIsmDsnwJUFYUMd0nFCsuNo8n/1lVxnd69lEIL6EeOqdiCivnLp9shXHkPiEOv1IaSSpFUvvNjVjCU3ognbULLpQxlPsEFDeBoyTZ8JkT0wTa5JJm8g9+SK8tosH+aPUMDnfUVsVQ==","ARC-Authentication-Results":"i=1; lists.ozlabs.org;\n dmarc=pass (p=none dis=none) header.from=linux.ibm.com;\n dkim=pass (2048-bit key;\n unprotected) header.d=ibm.com header.i=@ibm.com header.a=rsa-sha256\n header.s=pp1 header.b=LDFARfW0; dkim-atps=neutral;\n spf=pass (client-ip=148.163.156.1; helo=mx0a-001b2d01.pphosted.com;\n envelope-from=sayalip@linux.ibm.com;\n receiver=lists.ozlabs.org) smtp.mailfrom=linux.ibm.com","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed; d=ibm.com; h=cc\n\t:content-transfer-encoding:content-type:date:from:message-id\n\t:mime-version:subject:to; s=pp1; bh=OT+OQFCgRq+Kj1jonLnfSvCEwfsn\n\teE3cw0acLy20e6Y=; b=LDFARfW0396bSv3hZUqUyTZWS04rwq41y52Xi+92KxFF\n\tzMc8SdwWZv4t3a+Lpi/gpkv9TEk+EcZxgD+/kvsncXz31Fo0bx+BdAvZDwt8bUqB\n\ts9MLeLNYSaf+VfmTM4iZGk+lvAApWCozJhUho+gMqNlFMeGBgZYiwjXNAMX8PekB\n\t/eVb5/X6rbjka4IfNHA/IElhwuzYzKgVUCES8jqtF4mscDSXbllZMSq/chqncAEY\n\tF1x1KEtw7OLmp6iZmcXyCUJylhEHCTnkCSFl8FK1HFmMe/CZvGOZAx99ixSKYEcM\n\tXr5BZSLsTFCbMhp2iKfPHR7MyIuSNntVMwQquUrEPA==","From":"Sayali Patil <sayalip@linux.ibm.com>","To":"Andrew Morton <akpm@linux-foundation.org>, Shuah Khan <shuah@kernel.org>,\n        linux-mm@kvack.org, linux-kernel@vger.kernel.org,\n        linux-kselftest@vger.kernel.org,\n        Ritesh Harjani <ritesh.list@gmail.com>","Cc":"David Hildenbrand <david@kernel.org>, Zi Yan <ziy@nvidia.com>,\n        Michal Hocko <mhocko@kernel.org>, Oscar Salvador <osalvador@suse.de>,\n        Lorenzo Stoakes <lorenzo.stoakes@oracle.com>,\n        Dev Jain <dev.jain@arm.com>, Liam.Howlett@oracle.com,\n        linuxppc-dev@lists.ozlabs.org, Miaohe Lin <linmiaohe@huawei.com>,\n        Venkat Rao Bagalkote <venkat88@linux.ibm.com>,\n        Sayali Patil <sayalip@linux.ibm.com>","Subject":"[PATCH v4 00/15] selftests/mm: fix failures and robustness\n improvements","Date":"Mon,  6 Apr 2026 14:49:19 +0530","Message-ID":"<cover.1775466329.git.sayalip@linux.ibm.com>","X-Mailer":"git-send-email 2.52.0","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-Type":"text/plain; charset=UTF-8","Content-Transfer-Encoding":"8bit","X-TM-AS-GCONF":"00","X-Proofpoint-Reinject":"loops=2 maxloops=12","X-Authority-Analysis":"v=2.4 cv=Bp+QAIX5 c=1 sm=1 tr=0 ts=69d37ab4 cx=c_pps\n a=GFwsV6G8L6GxiO2Y/PsHdQ==:117 a=GFwsV6G8L6GxiO2Y/PsHdQ==:17\n a=IkcTkHD0fZMA:10 a=A5OVakUREuEA:10 a=VkNPw1HP01LnGYTKEx00:22\n a=RnoormkPH1_aCDwRdu11:22 a=uAbxVGIbfxUO_5tXvNgY:22 a=VwQbUJbxAAAA:8\n a=VnNF1IyMAAAA:8 a=2xlL1Z9U7jiVjyWPKcYA:9 a=3ZKOabzyN94A:10 a=QEXdDO2ut3YA:10\n a=O8hF6Hzn-FEA:10","X-Proofpoint-Spam-Details-Enc":"AW1haW4tMjYwNDA2MDA5MCBTYWx0ZWRfX/jT3q5ilpa6R\n aEEHN/YCS8iqXs8PaeYs2AacTfE8kLrbWHvn2HVKMXYuXDsGNHC1S203Oqrhmv5yoBr8zFu1yjy\n uj0ydsdIXafr9J532erS6OTOhxGVibodUczxZ7bTV7mam/CoQd8QIWl3nRvlPeTbw7ORlQX0Bbd\n 2Kypj/SSXoa0NjpW9PnO5UmfPCiIzIkAfR3d2Enil/74TvTl09FGWbn0JHT4aNAQvyPCuPayV4Z\n k9DBOFpdfpvzBC+Wx4KEXPgxnJajqgXRLu+wNisH3k6JHsb656K45pQna8SN7OORFUfcZ24G2T1\n IBZrdtpBtytmrtc/cn7B+f5kswfHutwfks85DlEgndt7UR8+WpJtUPfq4oesYWE+XPrZf7GFyNb\n fdthDApML3C0gFmH9CDo7zCPHNADe8qRQKcGjbH1uFmF2qrMyuDFy+pE1cY+UjwAgHnsTvf+3un\n fYVe/H+/KFzyLbH/7/A==","X-Proofpoint-GUID":"nuLxCR4AYTgo-aewaKBiI37kGt8DfwD9","X-Proofpoint-ORIG-GUID":"rdqO_gI49MAxaHxdkg0qFKKrMoQcTweM","X-Proofpoint-Virus-Version":"vendor=baseguard\n engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49\n definitions=2026-04-06_02,2026-04-03_01,2025-10-01_01","X-Proofpoint-Spam-Details":"rule=outbound_notspam policy=outbound score=0\n phishscore=0 malwarescore=0 suspectscore=0 adultscore=0 impostorscore=0\n spamscore=0 priorityscore=1501 lowpriorityscore=0 bulkscore=0 clxscore=1015\n classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0\n reason=mlx scancount=1 engine=8.22.0-2603050001 definitions=main-2604060090","X-Spam-Status":"No, score=-0.7 required=3.0 tests=DKIM_SIGNED,DKIM_VALID,\n\tRCVD_IN_DNSWL_LOW,RCVD_IN_MSPIKE_H4,RCVD_IN_MSPIKE_WL,SPF_HELO_NONE,\n\tSPF_PASS autolearn=disabled version=4.0.1 OzLabs 8","X-Spam-Checker-Version":"SpamAssassin 4.0.1 (2024-03-25) on lists.ozlabs.org"},"content":"Hi all,\n\nPowerpc systems with a 64K base page size exposed several issues while\nrunning mm selftests. Some tests assume specific hugetlb configurations,\nuse incorrect interfaces, or fail instead of skipping when the required\nkernel features are not available.\n\nThis series fixes these issues and improves test robustness.\n\nPlease review the patches and provide any feedback or suggestions for\nimprovement.\n\nThanks,\nSayali\n\n---\nv3->v4\n\n  - selftests/mm: restore default nr_hugepages value via EXIT\n    trap in charge_reserved_hugetlb.sh:\n    Updated to use an EXIT trap to restore the original nr_hugepages\n    once at script termination, ensuring reliable restoration on all\n    exit paths.\n\n  - selftest/mm: fix cgroup task placement and drop memory.current checks\n    in hugetlb_reparenting_test.sh:\n    Updated to use a deterministic synchronization method by migrating the\n    workload process within a wrapper subshell before calling exec() to \n    ensure correct cgroup accounting.\n\n  - selftest/mm: align memory size to huge page size in hugepage-mremap\n    test:\n    Update test code directly to align memory allocations to the hugepage\n    size, rather than modifying run_vmtests.sh. This replaces the previous\n    commit “adjust hugepage-mremap test size for large huge pages” with\n    a cleaner, direct approach in the test itself.\n\n  - selftests/mm: ensure destination is hugetlb-backed in hugepage-mremap:\n    Updated to remove MAP_POPULATE flag for the mmap call as per review\n    comment.\n\n  - selftests/mm: skip uffd-wp-mremap if UFFD write-protect is unsupported:\n    Updated as per review comment to initialize features to zero and exit\n    on all uffd_get_features() failures, avoiding spurious test errors.\n\n  - selftests/mm: move hwpoison setup into run_test() and silence\n    modprobe output for memory-failure category:\n    Declared LOADED_MOD as local variable and avoided a redundant \n    skip message when the module is not found.\n    Updated logic to set exitcode to ksft_skip only when no failure has\n    been recorded.\n\n  - selftests/cgroup: extend test_hugetlb_memcg.c to support all huge\n    page sizes:\n    Updated to skip on memory constraints instead of returning\n    EXIT_FAILURE.\n    Updated the logic to fully account for the scenario when the\n    per-CPU stock is empty and a refill charges MEMCG_CHARGE_BATCH. \n    Updated to avoid overflow on 32-bit systems for memory.max value.\n\n  - Included \"selftests/mm: restore default nr_hugepages value via\n    EXIT trap in hugetlb_reparenting_test.sh\"\n\n  - Included \"selftests/mm: free dynamically allocated PMD-sized\n    buffers in split_huge_page_test\"\n\n  - Included \"selftests/mm: clarify alternate unmapping in compaction_test\"\n\n  - Dropped \"selftests/mm: fix double increment in linked list cleanup in\n    compaction_test\":\n    The behaviour is intentional.\n\nv3: https://lore.kernel.org/all/cover.1774591179.git.sayalip@linux.ibm.com/\n\n---\nv2->v3\n  - selftests/mm: skip uffd-wp-mremap if UFFD write-protect is unsupported:\n    Rename function to check_uffd_wp_feature_supported() as suggested in review.\n  - selftest/mm: fix cgroup task placement and drop memory.current checks\n    in hugetlb_reparenting_test.sh:\n    Drop memory.current validation from the hugetlb reparenting test.\n    Keep tolerance at 7MB (reverting earlier increase to 8MB in v1).\n  - Included \"selftests/mm: allow PUD-level entries in compound testcase of hmm\n    tests\" patch:\n    Extend the compound testcase checks to accept PUD-level mappings.\n  - Included \"selftests/mm: replace hardcoded THP size with runtime PMD page size in\n    hmm tests\" patch:\n    Use read_pmd_pagesize() instead of TWOMEG and cap maximum THPs in\n    benchmarks to avoid integer overflow.\n\nv2: https://lore.kernel.org/all/cover.1773305677.git.sayalip@linux.ibm.com/\n\n---\nv1->v2\n  - For \"selftests/mm: ensure destination is hugetlb-backed in hugepage-mremap\":\n    update FLAGS definition to MAP_HUGETLB | MAP_SHARED | MAP_POPULATE and\n    used it for mmap() calls as suggested during review.\n\nv1: https://lore.kernel.org/all/cover.1773134177.git.sayalip@linux.ibm.com/\n---\n\nSayali Patil (15):\n  selftests/mm: restore default nr_hugepages value via EXIT trap in\n    charge_reserved_hugetlb.sh\n  selftests/mm: fix hugetlb pathname construction in\n    charge_reserved_hugetlb.sh\n  selftests/mm: restore default nr_hugepages value via EXIT trap in\n    hugetlb_reparenting_test.sh\n  selftests/mm: fix hugetlb pathname construction in\n    hugetlb_reparenting_test.sh\n  selftests/mm: fix cgroup task placement and drop memory.current checks\n    in hugetlb_reparenting_test.sh\n  selftests/mm: size tmpfs according to PMD page size in\n    split_huge_page_test\n  selftests/mm: free dynamically allocated PMD-sized buffers in\n    split_huge_page_test\n  selftest/mm: align memory size to huge page size in hugepage-mremap\n    test\n  selftest/mm: register existing mapping with userfaultfd in\n    hugepage-mremap\n  selftests/mm: ensure destination is hugetlb-backed in hugepage-mremap\n  selftests/mm: skip uffd-wp-mremap if UFFD write-protect is unsupported\n  selftests/mm: skip uffd-stress test when nr_pages_per_cpu is zero\n  selftests/mm: move hwpoison setup into run_test() and silence modprobe\n    output for memory-failure category\n  selftests/mm: clarify alternate unmapping in compaction_test\n  selftests/cgroup: extend test_hugetlb_memcg.c to support all huge page\n    sizes\n\n .../selftests/cgroup/test_hugetlb_memcg.c     | 90 ++++++++++++++-----\n .../selftests/mm/charge_reserved_hugetlb.sh   | 45 ++++++----\n tools/testing/selftests/mm/compaction_test.c  |  3 +\n tools/testing/selftests/mm/hugepage-mremap.c  | 42 ++++-----\n .../selftests/mm/hugetlb_reparenting_test.sh  | 59 ++++++------\n tools/testing/selftests/mm/run_vmtests.sh     | 52 +++++++----\n .../selftests/mm/split_huge_page_test.c       | 27 ++++--\n tools/testing/selftests/mm/uffd-stress.c      |  6 +-\n tools/testing/selftests/mm/uffd-wp-mremap.c   | 13 +++\n 9 files changed, 220 insertions(+), 117 deletions(-)"}