From nobody Sat Oct 4 12:41:08 2025 Received: from mx0a-001b2d01.pphosted.com (mx0a-001b2d01.pphosted.com [148.163.156.1]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 181F115624D; Sat, 16 Aug 2025 04:02:08 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=148.163.156.1 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755316930; cv=none; b=c/yu+2VieDnLKk38mWMkhqjXDMaB7hfVrRiTehcnWyyP+kOPMe7F2V8/6Rmwe050y2mmsbMAXtZgnu5EWEYsB4nkGFq55Vd3SL+ZUBzuvs8DvidChXoHIW22QC/zl/kQf8Lwb5d1ztFl+q1y7DPDHbSuOwjayj0PDgoLDdjFKII= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755316930; c=relaxed/simple; bh=PS5Pfnsgzf+EBcCoRTm3hzeeJC5U1+mDDWHbdD+JVCI=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=FdeFOCrgkzyxMsOsAMjiVixe8/dBl24H3ssprPIxGlSWDUv/EBS8aBTptG/injXvNqrBo74p2F3HfA8pXIoKpfR8/tqzxgto9eWxgCxGpGnkzVe8PKfPViB/bzEY/JGPZw/3LSLDhFYYZkgLYyhrHS337+zoAKnrRQVsHalZr4k= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.ibm.com; spf=pass smtp.mailfrom=linux.ibm.com; dkim=pass (2048-bit key) header.d=ibm.com header.i=@ibm.com header.b=VUjdM7Bi; arc=none smtp.client-ip=148.163.156.1 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.ibm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linux.ibm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=ibm.com header.i=@ibm.com header.b="VUjdM7Bi" Received: from pps.filterd (m0353729.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 57G30C6H027452; Sat, 16 Aug 2025 04:01:45 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ibm.com; h=cc :content-transfer-encoding:date:from:in-reply-to:message-id :mime-version:references:subject:to; s=pp1; bh=YaS8eetIOBTsJvP2L Rw1VSFkVozD05zxymGqu38YCZ8=; b=VUjdM7BiI3qlX2BRakrkYOL/lQsK05Zrj 02ZQU4n5iMGmfuNAL5gnSeEkK7jSv/fWPI+ykTgPqZoEWIvLpmUUdWclGV8ECJd6 jIpx9ovfBX9qef8gqWzDgQaYVxBhKtXXg3O5cr7V2JTgY0gAo0Yp6U1Qxn8BOg43 HRikfbrptfcfZycl/mIPgy8OkX+ZeEpH9Hwe4PmQaiI2uU8AXL/bmQecJh8crxRa 7HrVKcar3TNS6G0N5vdnBuQ/tpyK7BC7IPJRLq7Aa53eMGl0yYdnYGdUXpCExiBL JKdUMtH6Nb8gmqQpfji+xdyYDQDpQbj5JuejQvT+WkTxPyuChFAyg== Received: from pps.reinject (localhost [127.0.0.1]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 48jhnxr44k-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Sat, 16 Aug 2025 04:01:45 +0000 (GMT) Received: from m0353729.ppops.net (m0353729.ppops.net [127.0.0.1]) by pps.reinject (8.18.1.12/8.18.0.8) with ESMTP id 57G41iQ1003014; Sat, 16 Aug 2025 04:01:44 GMT Received: from ppma11.dal12v.mail.ibm.com (db.9e.1632.ip4.static.sl-reverse.com [50.22.158.219]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 48jhnxr44g-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Sat, 16 Aug 2025 04:01:44 +0000 (GMT) Received: from pps.filterd (ppma11.dal12v.mail.ibm.com [127.0.0.1]) by ppma11.dal12v.mail.ibm.com (8.18.1.2/8.18.1.2) with ESMTP id 57G37Mkj017581; Sat, 16 Aug 2025 04:01:43 GMT Received: from smtprelay03.fra02v.mail.ibm.com ([9.218.2.224]) by ppma11.dal12v.mail.ibm.com (PPS) with ESMTPS id 48ekc43f75-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Sat, 16 Aug 2025 04:01:43 +0000 Received: from smtpav05.fra02v.mail.ibm.com (smtpav05.fra02v.mail.ibm.com [10.20.54.104]) by smtprelay03.fra02v.mail.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id 57G41e6R52953414 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Sat, 16 Aug 2025 04:01:40 GMT Received: from smtpav05.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 0CA0020043; Sat, 16 Aug 2025 04:01:40 +0000 (GMT) Received: from smtpav05.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 1688220040; Sat, 16 Aug 2025 04:01:29 +0000 (GMT) Received: from aboo.ibm.com.com (unknown [9.36.5.210]) by smtpav05.fra02v.mail.ibm.com (Postfix) with ESMTP; Sat, 16 Aug 2025 04:01:28 +0000 (GMT) From: Aboorva Devarajan To: akpm@linux-foundation.org, Liam.Howlett@oracle.com, lorenzo.stoakes@oracle.com, shuah@kernel.org, pfalcato@suse.de, david@redhat.com, ziy@nvidia.com, baolin.wang@linux.alibaba.com, npache@redhat.com, ryan.roberts@arm.com, dev.jain@arm.com, baohua@kernel.org, richard.weiyang@gmail.com Cc: linux-mm@kvack.org, linux-kselftest@vger.kernel.org, linux-kernel@vger.kernel.org, donettom@linux.ibm.com, ritesh.list@gmail.com, aboorvad@linux.ibm.com Subject: [PATCH v4 1/7] mm/selftests: Fix incorrect pointer being passed to mark_range() Date: Sat, 16 Aug 2025 09:31:07 +0530 Message-ID: <20250816040113.760010-2-aboorvad@linux.ibm.com> X-Mailer: git-send-email 2.50.1 In-Reply-To: <20250816040113.760010-1-aboorvad@linux.ibm.com> References: <20250816040113.760010-1-aboorvad@linux.ibm.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-TM-AS-GCONF: 00 X-Authority-Analysis: v=2.4 cv=XbqJzJ55 c=1 sm=1 tr=0 ts=68a002a9 cx=c_pps a=aDMHemPKRhS1OARIsFnwRA==:117 a=aDMHemPKRhS1OARIsFnwRA==:17 a=2OwXVqhp2XgA:10 a=VnNF1IyMAAAA:8 a=7CQSdrXTAAAA:8 a=20KFwNOVAAAA:8 a=Ikd4Dj_1AAAA:8 a=Jsdhh-2Z5yyD8EuTVZ4A:9 a=a-qgeE7W1pNrGK8U0ZQC:22 X-Proofpoint-ORIG-GUID: rQIx0Wj7JcxnF7kaPSlheNKjBHxiBHHy X-Proofpoint-GUID: SyqJ54v-8eGbNXwKAE_xeczvg8BQXYhR X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwODE2MDAyNyBTYWx0ZWRfXxQ5raNDnLApF pHE0+1uAahT2+Mn98eDgUtrIvKf/7HKqmhOPvzcPG5dD6I2XscA35eiCuq1LeBlPVWQM+sDf03q poGa67cP1mQsGmRckkEqJz53HIK/NLlbFeGIwXKOn4BrBTY6RXPVzJAP7cP+hrz0Q/TETWVp9ih ewee+qxWhwl4k7fUgeZxObu2ywgI1KSbbYqgNSbD4Jd6+71n9TXEr8eKeiYevZij/j0UQvpjMqw KarYVLW9wTvMAbq8YO/2PrIi9+CktxzP4H1DprWcYGX4DwMcuxnDYBRB1uIzZNoR3Dua+NwQovA c8Y4FIRp6W0sdo+lYKUXN+xPoTKSVWrKlM4fdYjwHUGa9kOr/zyzhTZdpvY3iZn/fSG7SryiFi5 M5SxyOmA X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1099,Hydra:6.1.9,FMLib:17.12.80.40 definitions=2025-08-16_01,2025-08-14_01,2025-03-28_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 phishscore=0 adultscore=0 suspectscore=0 priorityscore=1501 bulkscore=0 clxscore=1015 malwarescore=0 spamscore=0 impostorscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2507300000 definitions=main-2508160027 Content-Type: text/plain; charset="utf-8" From: Donet Tom In main(), the high address is stored in hptr, but for mark_range(), the address passed is ptr, not hptr. Fixed this by changing ptr[i] to hptr[i] in mark_range() function call. Fixes: b2a79f62133a ("selftests/mm: virtual_address_range: unmap chunks aft= er validation") Co-developed-by: Aboorva Devarajan Signed-off-by: Aboorva Devarajan Reviewed-by: Dev Jain Acked-by: David Hildenbrand Reviewed-by: Zi Yan Signed-off-by: Donet Tom Reviewed-by: Wei Yang --- tools/testing/selftests/mm/virtual_address_range.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/testing/selftests/mm/virtual_address_range.c b/tools/tes= ting/selftests/mm/virtual_address_range.c index 3c21d136962c..e7ef6759baa1 100644 --- a/tools/testing/selftests/mm/virtual_address_range.c +++ b/tools/testing/selftests/mm/virtual_address_range.c @@ -227,7 +227,7 @@ int main(void) if (hptr[i] =3D=3D MAP_FAILED) break; =20 - mark_range(ptr[i], MAP_CHUNK_SIZE); + mark_range(hptr[i], MAP_CHUNK_SIZE); validate_addr(hptr[i], 1); } hchunks =3D i; --=20 2.47.1 From nobody Sat Oct 4 12:41:08 2025 Received: from mx0a-001b2d01.pphosted.com (mx0a-001b2d01.pphosted.com [148.163.156.1]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id D61A51DED5C; Sat, 16 Aug 2025 04:02:13 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=148.163.156.1 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755316935; cv=none; b=NBYI+VEsERJQivVdttvcJjgDpgQojAL2OEdpCOmpW4SqeLwYZfdd5ps7WgR6YIu+I6aFd+DtUh5izsFZyX8H4w+g5+m1wlIGlNRbFbUk6uKfoYiAC/mHogbyROzeN6EWc7rI++TDPcWd3GrBiZY6AinNDDxuFZkCUW1GaWGSLDU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755316935; c=relaxed/simple; bh=q8JJeSZbtLNfmDIRH5jDCkCzKl+LwQxebgtzPRqy1eI=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=Pd94Npd9NP8QDIzDj9rtiUQRcW67naGbeHfz+fCIEPzTtKbPbXzdrehTyfEKMcGDZNpXPUApEKPCJrc71/bExndoWrfHyRlqZTVFmUcJRz6U5pfrK9a7rpnxgKXznDRV7IrqYrgYYO3MV9ZdllXXbOagKIQU7C41OhsvvwIQThk= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.ibm.com; spf=pass smtp.mailfrom=linux.ibm.com; dkim=pass (2048-bit key) header.d=ibm.com header.i=@ibm.com header.b=jzp9cuL8; arc=none smtp.client-ip=148.163.156.1 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.ibm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linux.ibm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=ibm.com header.i=@ibm.com header.b="jzp9cuL8" Received: from pps.filterd (m0353729.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 57G2xgUO026356; Sat, 16 Aug 2025 04:01:58 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ibm.com; h=cc :content-transfer-encoding:date:from:in-reply-to:message-id :mime-version:references:subject:to; s=pp1; bh=xPy3sO++d8R7+mZ5S 3adOnuOng0bHe11Z8Kz+7bq/u4=; b=jzp9cuL8K2QAO/SpfDovAltSasgSptj0o 3wCjKdBMOcCLLDC+bf7e2HuVR6G2r7EFG22kLXh1eFwp/KSodzkxTskcvUCJ/Zgo +qD/vgEfiznQ1smFpohHj+uY4MHK9tCcGXQ3MVTJWXAw6tS5VEnIUVNTZrdeBpLC tbocL4PHlQQeaxHWjyVcRVw758k7BqbzCm33bfmDJnsagNIMLM71Arxp7WtWnqMq kgWTj/QOf1wdZKQFo+F4P9/9oZkeJ7mEw4SIhNu898lw+gqLX7L7m1sHIsAbmURQ NCDdE9zCxbSEOxXfazF2Ob/D+7Lwz0BorLCEqGSkHSrSx0xNM3SYA== Received: from pps.reinject (localhost [127.0.0.1]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 48jhnxr44x-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Sat, 16 Aug 2025 04:01:58 +0000 (GMT) Received: from m0353729.ppops.net (m0353729.ppops.net [127.0.0.1]) by pps.reinject (8.18.1.12/8.18.0.8) with ESMTP id 57G3wb69030745; Sat, 16 Aug 2025 04:01:57 GMT Received: from ppma11.dal12v.mail.ibm.com (db.9e.1632.ip4.static.sl-reverse.com [50.22.158.219]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 48jhnxr44t-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Sat, 16 Aug 2025 04:01:57 +0000 (GMT) Received: from pps.filterd (ppma11.dal12v.mail.ibm.com [127.0.0.1]) by ppma11.dal12v.mail.ibm.com (8.18.1.2/8.18.1.2) with ESMTP id 57G3VL5w017606; Sat, 16 Aug 2025 04:01:56 GMT Received: from smtprelay02.fra02v.mail.ibm.com ([9.218.2.226]) by ppma11.dal12v.mail.ibm.com (PPS) with ESMTPS id 48ekc43f7r-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Sat, 16 Aug 2025 04:01:56 +0000 Received: from smtpav05.fra02v.mail.ibm.com (smtpav05.fra02v.mail.ibm.com [10.20.54.104]) by smtprelay02.fra02v.mail.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id 57G41rPR53805428 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Sat, 16 Aug 2025 04:01:53 GMT Received: from smtpav05.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 224432004B; Sat, 16 Aug 2025 04:01:53 +0000 (GMT) Received: from smtpav05.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 121EE20040; Sat, 16 Aug 2025 04:01:41 +0000 (GMT) Received: from aboo.ibm.com.com (unknown [9.36.5.210]) by smtpav05.fra02v.mail.ibm.com (Postfix) with ESMTP; Sat, 16 Aug 2025 04:01:40 +0000 (GMT) From: Aboorva Devarajan To: akpm@linux-foundation.org, Liam.Howlett@oracle.com, lorenzo.stoakes@oracle.com, shuah@kernel.org, pfalcato@suse.de, david@redhat.com, ziy@nvidia.com, baolin.wang@linux.alibaba.com, npache@redhat.com, ryan.roberts@arm.com, dev.jain@arm.com, baohua@kernel.org, richard.weiyang@gmail.com Cc: linux-mm@kvack.org, linux-kselftest@vger.kernel.org, linux-kernel@vger.kernel.org, donettom@linux.ibm.com, ritesh.list@gmail.com, aboorvad@linux.ibm.com Subject: [PATCH v4 2/7] selftests/mm: Add support to test 4PB VA on PPC64 Date: Sat, 16 Aug 2025 09:31:08 +0530 Message-ID: <20250816040113.760010-3-aboorvad@linux.ibm.com> X-Mailer: git-send-email 2.50.1 In-Reply-To: <20250816040113.760010-1-aboorvad@linux.ibm.com> References: <20250816040113.760010-1-aboorvad@linux.ibm.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-TM-AS-GCONF: 00 X-Authority-Analysis: v=2.4 cv=XbqJzJ55 c=1 sm=1 tr=0 ts=68a002b6 cx=c_pps a=aDMHemPKRhS1OARIsFnwRA==:117 a=aDMHemPKRhS1OARIsFnwRA==:17 a=2OwXVqhp2XgA:10 a=VnNF1IyMAAAA:8 a=7CQSdrXTAAAA:8 a=20KFwNOVAAAA:8 a=Ikd4Dj_1AAAA:8 a=WmnS56O_TwYD7c2XGFoA:9 a=a-qgeE7W1pNrGK8U0ZQC:22 X-Proofpoint-ORIG-GUID: ejoYArjV969070TmiEX0lepj9eH35uQD X-Proofpoint-GUID: CPC1I9ANuAlCecLDI3vFdpLyyCUnehTQ X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwODE2MDAyNyBTYWx0ZWRfX5NAKPf+ZWHY6 C1LwpL8fxKLpg4r66NlosVvl+4FXGALI8k7u8jP23tZlK0FIPPZm1ePuJuRbQJAzrgXRNwCZscj l3pt7Ec6hPOtQoJYKztSj0RUt7dxG5W3A92OvHQ7F5AgaeYJTLiyvOrRJIb83Wyxf4EoKsnEIGa HkITpwJnz3VKolGPHTnWu53KpiUN7Bz+4urtojVkMtkZLyf7jZ5xdvHGMTQbuNvfi3WxUnkMZKE lI1WOZfPOnIjhurE8f82iWZLZWtOIOyisqiiTl+4jSc3dB8zPTRlqY5S2n11+Ay7dK9bNzIZwEd 6urW80DoF1uCitB5K97S89r9lIod5VMH/E51MPRMMIf2SFqz9jHcfSwJq0NUfRVcgTcR1NCdIiR +0XooGjy X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1099,Hydra:6.1.9,FMLib:17.12.80.40 definitions=2025-08-16_01,2025-08-14_01,2025-03-28_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 phishscore=0 adultscore=0 suspectscore=0 priorityscore=1501 bulkscore=0 clxscore=1015 malwarescore=0 spamscore=0 impostorscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2507300000 definitions=main-2508160027 Content-Type: text/plain; charset="utf-8" From: Donet Tom PowerPC64 supports a 4PB virtual address space, but this test was previously limited to 512TB. This patch extends the coverage up to the full 4PB VA range on PowerPC64. Memory from 0 to 128TB is allocated without an address hint, while allocations from 128TB to 4PB use a hint address. Co-developed-by: Aboorva Devarajan Signed-off-by: Aboorva Devarajan Reviewed-by: Dev Jain Acked-by: David Hildenbrand Reviewed-by: Zi Yan Signed-off-by: Donet Tom Reviewed-by: Wei Yang --- tools/testing/selftests/mm/virtual_address_range.c | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/tools/testing/selftests/mm/virtual_address_range.c b/tools/tes= ting/selftests/mm/virtual_address_range.c index e7ef6759baa1..1de62f6cadc7 100644 --- a/tools/testing/selftests/mm/virtual_address_range.c +++ b/tools/testing/selftests/mm/virtual_address_range.c @@ -44,12 +44,18 @@ * On Arm64 the address space is 256TB and support for * high mappings up to 4PB virtual address space has * been added. + * + * On PowerPC64, the address space up to 128TB can be + * mapped without a hint. Addresses beyond 128TB, up to + * 4PB, can be mapped with a hint. + * */ =20 #define NR_CHUNKS_128TB ((128 * SZ_1TB) / MAP_CHUNK_SIZE) /* Number of c= hunks for 128TB */ #define NR_CHUNKS_256TB (NR_CHUNKS_128TB * 2UL) #define NR_CHUNKS_384TB (NR_CHUNKS_128TB * 3UL) #define NR_CHUNKS_3840TB (NR_CHUNKS_128TB * 30UL) +#define NR_CHUNKS_3968TB (NR_CHUNKS_128TB * 31UL) =20 #define ADDR_MARK_128TB (1UL << 47) /* First address beyond 128TB */ #define ADDR_MARK_256TB (1UL << 48) /* First address beyond 256TB */ @@ -59,6 +65,11 @@ #define HIGH_ADDR_SHIFT 49 #define NR_CHUNKS_LOW NR_CHUNKS_256TB #define NR_CHUNKS_HIGH NR_CHUNKS_3840TB +#elif defined(__PPC64__) +#define HIGH_ADDR_MARK ADDR_MARK_128TB +#define HIGH_ADDR_SHIFT 48 +#define NR_CHUNKS_LOW NR_CHUNKS_128TB +#define NR_CHUNKS_HIGH NR_CHUNKS_3968TB #else #define HIGH_ADDR_MARK ADDR_MARK_128TB #define HIGH_ADDR_SHIFT 48 --=20 2.47.1 From nobody Sat Oct 4 12:41:08 2025 Received: from mx0a-001b2d01.pphosted.com (mx0a-001b2d01.pphosted.com [148.163.156.1]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id E66121B85F8; Sat, 16 Aug 2025 04:02:26 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=148.163.156.1 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755316948; cv=none; b=jjkAE1uWf71+nxRdaF50NOTUk1ATybESZz7NKIbYwkCpIu+Q41mXc6ZLPbKVqTmzckBZwPefe+ph8sICPTIXFDR2MRd4xeHYW39CXucAbk59YbDb8EpthNu1QksdBJypK9CP1PywgNTiA3dDIupVXlrqp9CtD9CnQXCIvZ2I0kE= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755316948; c=relaxed/simple; bh=45Ac5AFN9w0PK17yUgtcNfFXcPMDW8RsXyoGxeqx0rw=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=b43wq01RkhEhED/SJnjGSTFi/H6yld2eM/IHKBUL/7GgI77i/GbQ48up2BlL1aJYc6oSoXdczKVVG5Buv0lfaRc/hrPeVCGEmiam4jRCLtwBked9H5VIdfVi/UPP9OvU764peh2IOTXRkYRm/uK2OZYh9HPn8ZtHb2ld4rxQTCM= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.ibm.com; spf=pass smtp.mailfrom=linux.ibm.com; dkim=pass (2048-bit key) header.d=ibm.com header.i=@ibm.com header.b=PBWlJ1n7; arc=none smtp.client-ip=148.163.156.1 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.ibm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linux.ibm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=ibm.com header.i=@ibm.com header.b="PBWlJ1n7" Received: from pps.filterd (m0356517.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 57G3fHa5002575; Sat, 16 Aug 2025 04:02:10 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ibm.com; h=cc :content-transfer-encoding:date:from:in-reply-to:message-id :mime-version:references:subject:to; s=pp1; bh=eGzWIZiqMaWv4GVzO QCi1nMNGqm4yh5E7Pden64lkc4=; b=PBWlJ1n7VktRBBpUGfghIB9xKv/FHKpXP ivQnJpUCE9yA7GSm30HXF6o2DrT1X4BtPziOKwi21O/9RXrMdb41h6R0VJIT4JQa EijBt7iRsd6s0/gCWqhSqYS6hRR/7w1d/KBsBKemwsi6iaEjUIWnr2bWtkbyRCpV V46qp/f4/PAktduhYR8zR9UMujQY+kaYh9HgZ4iG5dAQ2N+ugOdqdW/t0lP7pe+q JUBWiWyaBer0HAqdIw7eYotLJ0DqozY+jxKSc6y64nwZrxPggqL3qpilZDkxBX/O 9OsPuVgGhba2KHRJvF5OLo2e2Hty7khjcGsjzmMH0DoSHU9ib+3dw== Received: from pps.reinject (localhost [127.0.0.1]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 48jhq9g442-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Sat, 16 Aug 2025 04:02:10 +0000 (GMT) Received: from m0356517.ppops.net (m0356517.ppops.net [127.0.0.1]) by pps.reinject (8.18.1.12/8.18.0.8) with ESMTP id 57G40Oi1003065; Sat, 16 Aug 2025 04:02:09 GMT Received: from ppma23.wdc07v.mail.ibm.com (5d.69.3da9.ip4.static.sl-reverse.com [169.61.105.93]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 48jhq9g43y-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Sat, 16 Aug 2025 04:02:09 +0000 (GMT) Received: from pps.filterd (ppma23.wdc07v.mail.ibm.com [127.0.0.1]) by ppma23.wdc07v.mail.ibm.com (8.18.1.2/8.18.1.2) with ESMTP id 57G1hKqI028582; Sat, 16 Aug 2025 04:02:08 GMT Received: from smtprelay06.fra02v.mail.ibm.com ([9.218.2.230]) by ppma23.wdc07v.mail.ibm.com (PPS) with ESMTPS id 48ej5nkqqd-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Sat, 16 Aug 2025 04:02:08 +0000 Received: from smtpav05.fra02v.mail.ibm.com (smtpav05.fra02v.mail.ibm.com [10.20.54.104]) by smtprelay06.fra02v.mail.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id 57G4244H20775218 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Sat, 16 Aug 2025 04:02:04 GMT Received: from smtpav05.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 371DD20040; Sat, 16 Aug 2025 04:02:04 +0000 (GMT) Received: from smtpav05.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 0CE9220043; Sat, 16 Aug 2025 04:01:53 +0000 (GMT) Received: from aboo.ibm.com.com (unknown [9.36.5.210]) by smtpav05.fra02v.mail.ibm.com (Postfix) with ESMTP; Sat, 16 Aug 2025 04:01:52 +0000 (GMT) From: Aboorva Devarajan To: akpm@linux-foundation.org, Liam.Howlett@oracle.com, lorenzo.stoakes@oracle.com, shuah@kernel.org, pfalcato@suse.de, david@redhat.com, ziy@nvidia.com, baolin.wang@linux.alibaba.com, npache@redhat.com, ryan.roberts@arm.com, dev.jain@arm.com, baohua@kernel.org, richard.weiyang@gmail.com Cc: linux-mm@kvack.org, linux-kselftest@vger.kernel.org, linux-kernel@vger.kernel.org, donettom@linux.ibm.com, ritesh.list@gmail.com, aboorvad@linux.ibm.com Subject: [PATCH v4 3/7] selftest/mm: Fix ksm_funtional_test failures Date: Sat, 16 Aug 2025 09:31:09 +0530 Message-ID: <20250816040113.760010-4-aboorvad@linux.ibm.com> X-Mailer: git-send-email 2.50.1 In-Reply-To: <20250816040113.760010-1-aboorvad@linux.ibm.com> References: <20250816040113.760010-1-aboorvad@linux.ibm.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-TM-AS-GCONF: 00 X-Authority-Analysis: v=2.4 cv=N50pF39B c=1 sm=1 tr=0 ts=68a002c2 cx=c_pps a=3Bg1Hr4SwmMryq2xdFQyZA==:117 a=3Bg1Hr4SwmMryq2xdFQyZA==:17 a=2OwXVqhp2XgA:10 a=VnNF1IyMAAAA:8 a=yVrA2fujCtLeWmk1P3cA:9 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwODE2MDAyNyBTYWx0ZWRfX8pCM/R0SBNnt 82cyqeqxyMUvnDqpC6Wlz9ftzCjaRXh07IcDhBimcwdlQuUKYEcOawUciRCacNFmuPeZN3AfP/I XTARpWxPQA+apLotgcp60tGEucV2cd97RTOOZ19h/xrlmwWWEmNN1+dhmqCXq2jxLD/w8VuyGtj 2a0zvK2ScMHcpl9HZVlDwDY2iSKMhiFyavxbyeRnLZ9jmUI1iTu2gc2PYb/p1B3OXDU3JpLYUu0 iqMyH7A/yJdXc1wKbKBYJF5How9/Rk9VOR+51A70ePlmD+xrT03YG7cC2Mw8TCSb6IrGvOx+TDE KMzrVOcvEwacjchXe0s09QMTkVrzZfcn1G9iISEvB4AZbLeC9ihR4A1iEccZZ0olJis8H78sn+f DwrehoNc X-Proofpoint-GUID: 4-QCN-rltZBnaB5UUevzv8HjYHCMBP0U X-Proofpoint-ORIG-GUID: iADUmERIIYRuRT5DyeVXIzSWCbExzVxC X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1099,Hydra:6.1.9,FMLib:17.12.80.40 definitions=2025-08-16_01,2025-08-14_01,2025-03-28_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 malwarescore=0 phishscore=0 suspectscore=0 impostorscore=0 bulkscore=0 adultscore=0 priorityscore=1501 spamscore=0 clxscore=1015 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2507300000 definitions=main-2508160027 Content-Type: text/plain; charset="utf-8" From: Donet Tom This patch fixed 2 issues. 1) After fork() in test_prctl_fork, the child process uses the file descriptors from the parent process to read ksm_stat and ksm_merging_pages. This results in incorrect values being read (parent process ksm_stat and ksm_merging_pages will be read in child), causing the test to fail. This patch calls init_global_file_handles() in the child process to ensure that the current process's file descriptors are used to read ksm_stat and ksm_merging_pages. 2) All tests currently call ksm_merge to trigger page merging. To ensure the system remains in a consistent state for subsequent tests, it is better to call ksm_unmerge during the test cleanup phase In the test_prctl_fork test, after a fork(), reading ksm_merging_pages in the child process returns a non-zero value because a previous test performed a merge, and the child's memory state is inherited from the parent. Although the child process calls ksm_unmerge, the ksm_merging_pages counter in the parent is reset to zero, while the child's counter remains unchanged. This discrepancy causes the test to fail. To avoid this issue, each test should call ksm_unmerge during cleanup to ensure the counter is reset and the system is in a clean state for subsequent tests. execv argument is an array of pointers to null-terminated strings. In this patch we also added NULL in the execv argument. Fixes: 6c47de3be3a0 ("selftest/mm: ksm_functional_tests: extend test case f= or ksm fork/exec") Co-developed-by: Aboorva Devarajan Signed-off-by: Aboorva Devarajan Signed-off-by: Donet Tom Reviewed-by: Wei Yang --- tools/testing/selftests/mm/ksm_functional_tests.c | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/tools/testing/selftests/mm/ksm_functional_tests.c b/tools/test= ing/selftests/mm/ksm_functional_tests.c index d8bd1911dfc0..996dc6645570 100644 --- a/tools/testing/selftests/mm/ksm_functional_tests.c +++ b/tools/testing/selftests/mm/ksm_functional_tests.c @@ -46,6 +46,8 @@ static int ksm_use_zero_pages_fd; static int pagemap_fd; static size_t pagesize; =20 +static void init_global_file_handles(void); + static bool range_maps_duplicates(char *addr, unsigned long size) { unsigned long offs_a, offs_b, pfn_a, pfn_b; @@ -274,6 +276,7 @@ static void test_unmerge(void) ksft_test_result(!range_maps_duplicates(map, size), "Pages were unmerged\n"); unmap: + ksm_unmerge(); munmap(map, size); } =20 @@ -338,6 +341,7 @@ static void test_unmerge_zero_pages(void) ksft_test_result(!range_maps_duplicates(map, size), "KSM zero pages were unmerged\n"); unmap: + ksm_unmerge(); munmap(map, size); } =20 @@ -366,6 +370,7 @@ static void test_unmerge_discarded(void) ksft_test_result(!range_maps_duplicates(map, size), "Pages were unmerged\n"); unmap: + ksm_unmerge(); munmap(map, size); } =20 @@ -452,6 +457,7 @@ static void test_unmerge_uffd_wp(void) close_uffd: close(uffd); unmap: + ksm_unmerge(); munmap(map, size); } #endif @@ -515,6 +521,7 @@ static int test_child_ksm(void) else if (map =3D=3D MAP_MERGE_SKIP) return -3; =20 + ksm_unmerge(); munmap(map, size); return 0; } @@ -548,6 +555,7 @@ static void test_prctl_fork(void) =20 child_pid =3D fork(); if (!child_pid) { + init_global_file_handles(); exit(test_child_ksm()); } else if (child_pid < 0) { ksft_test_result_fail("fork() failed\n"); @@ -595,7 +603,7 @@ static void test_prctl_fork_exec(void) return; } else if (child_pid =3D=3D 0) { char *prg_name =3D "./ksm_functional_tests"; - char *argv_for_program[] =3D { prg_name, FORK_EXEC_CHILD_PRG_NAME }; + char *argv_for_program[] =3D { prg_name, FORK_EXEC_CHILD_PRG_NAME, NULL = }; =20 execv(prg_name, argv_for_program); return; @@ -644,6 +652,7 @@ static void test_prctl_unmerge(void) ksft_test_result(!range_maps_duplicates(map, size), "Pages were unmerged\n"); unmap: + ksm_unmerge(); munmap(map, size); } =20 @@ -677,6 +686,7 @@ static void test_prot_none(void) ksft_test_result(!range_maps_duplicates(map, size), "Pages were unmerged\n"); unmap: + ksm_unmerge(); munmap(map, size); } =20 --=20 2.47.1 From nobody Sat Oct 4 12:41:08 2025 Received: from mx0b-001b2d01.pphosted.com (mx0b-001b2d01.pphosted.com [148.163.158.5]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 184B21DDC07; Sat, 16 Aug 2025 04:02:34 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=148.163.158.5 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755316956; cv=none; b=pSPxuh3ao2iDChFW4OzBUSShD4Y69PiE20x22aUODQWHckKCQq7uTHgBICn3DxNd1HNk3OGmyl8vMM0XJ+sEtzuU8bJquCK/yjCWDpdJP4EldSKrrf9pAYRHsktlUXIT1s11LAXhSaeJLOa8qh+jI/3QmlZmaTi1YKkVeG6GW8k= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755316956; c=relaxed/simple; bh=uc/GH9l4pfPW4rfqcPoT2E219wUDvgcc9PLo7TKjVM4=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=HP24t8TKmF8TZMUd4i5oscP9n1/pVgSfggEkShNumC1w9ocgsFwJ0EuQ7xBEkVrXrhp2HMt0cyAn2LZ0mbkr3AsPLKhrStvW2vW/tKRE1nMc7AcvMqwwJGwvXV0AfxfBwyU2PDqiB6snqyNVF7EzecaVxE/QHy+J/0Qz6it32h0= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.ibm.com; spf=pass smtp.mailfrom=linux.ibm.com; dkim=pass (2048-bit key) header.d=ibm.com header.i=@ibm.com header.b=OK/hasTJ; arc=none smtp.client-ip=148.163.158.5 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.ibm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linux.ibm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=ibm.com header.i=@ibm.com header.b="OK/hasTJ" Received: from pps.filterd (m0360072.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 57G3xJPs013014; Sat, 16 Aug 2025 04:02:21 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ibm.com; h=cc :content-transfer-encoding:date:from:in-reply-to:message-id :mime-version:references:subject:to; s=pp1; bh=onowwSIkYU3ULnZCB cG9cEogr69XJmaAQTaSo2mpmcc=; b=OK/hasTJTBhFbTKn7Sfovyvih4J8qaidn I7RFZDM08KLJeSd8Zc6xA7Rus7OmIJiglZd0atfRarrFeXgKqoKbJApLyXDtKHno vOgPYeX6KvWx0DpJM1uColvSx7QLnZY97sWYEhk9x6afpqZILprGj7Vfuytry9G2 jEBWaVtuA5el76xAh5SjsMUGol1jO4qUIe+YwfOKMiDARwbhnD1l8cnIxfUFaHSz Lu4AuX8I8sI8vBJBzYT5v61vF9H+nZZFssaq49/XloMYJMiURkjcBqaqnrs2BouQ oErGkQC5GNgTYdJbQWNQ7gnJJLTKUSd5DZV53jEVVrjxhnaj8QDRw== Received: from pps.reinject (localhost [127.0.0.1]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 48jhn3g4b7-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Sat, 16 Aug 2025 04:02:21 +0000 (GMT) Received: from m0360072.ppops.net (m0360072.ppops.net [127.0.0.1]) by pps.reinject (8.18.1.12/8.18.0.8) with ESMTP id 57G42KBn018593; Sat, 16 Aug 2025 04:02:20 GMT Received: from ppma23.wdc07v.mail.ibm.com (5d.69.3da9.ip4.static.sl-reverse.com [169.61.105.93]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 48jhn3g4b4-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Sat, 16 Aug 2025 04:02:20 +0000 (GMT) Received: from pps.filterd (ppma23.wdc07v.mail.ibm.com [127.0.0.1]) by ppma23.wdc07v.mail.ibm.com (8.18.1.2/8.18.1.2) with ESMTP id 57G2cmWR028571; Sat, 16 Aug 2025 04:02:20 GMT Received: from smtprelay04.fra02v.mail.ibm.com ([9.218.2.228]) by ppma23.wdc07v.mail.ibm.com (PPS) with ESMTPS id 48ej5nkqrp-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Sat, 16 Aug 2025 04:02:19 +0000 Received: from smtpav05.fra02v.mail.ibm.com (smtpav05.fra02v.mail.ibm.com [10.20.54.104]) by smtprelay04.fra02v.mail.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id 57G42GRu26542592 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Sat, 16 Aug 2025 04:02:16 GMT Received: from smtpav05.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id E111720043; Sat, 16 Aug 2025 04:02:15 +0000 (GMT) Received: from smtpav05.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 143FD20040; Sat, 16 Aug 2025 04:02:05 +0000 (GMT) Received: from aboo.ibm.com.com (unknown [9.36.5.210]) by smtpav05.fra02v.mail.ibm.com (Postfix) with ESMTP; Sat, 16 Aug 2025 04:02:04 +0000 (GMT) From: Aboorva Devarajan To: akpm@linux-foundation.org, Liam.Howlett@oracle.com, lorenzo.stoakes@oracle.com, shuah@kernel.org, pfalcato@suse.de, david@redhat.com, ziy@nvidia.com, baolin.wang@linux.alibaba.com, npache@redhat.com, ryan.roberts@arm.com, dev.jain@arm.com, baohua@kernel.org, richard.weiyang@gmail.com Cc: linux-mm@kvack.org, linux-kselftest@vger.kernel.org, linux-kernel@vger.kernel.org, donettom@linux.ibm.com, ritesh.list@gmail.com, aboorvad@linux.ibm.com Subject: [PATCH v4 4/7] mm/selftests: Fix split_huge_page_test failure on systems with 64KB page size Date: Sat, 16 Aug 2025 09:31:10 +0530 Message-ID: <20250816040113.760010-5-aboorvad@linux.ibm.com> X-Mailer: git-send-email 2.50.1 In-Reply-To: <20250816040113.760010-1-aboorvad@linux.ibm.com> References: <20250816040113.760010-1-aboorvad@linux.ibm.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-TM-AS-GCONF: 00 X-Proofpoint-ORIG-GUID: CFQgS28LN4Wajl8ZHwrrTcDo19mWi5Ow X-Authority-Analysis: v=2.4 cv=L6wdQ/T8 c=1 sm=1 tr=0 ts=68a002cd cx=c_pps a=3Bg1Hr4SwmMryq2xdFQyZA==:117 a=3Bg1Hr4SwmMryq2xdFQyZA==:17 a=2OwXVqhp2XgA:10 a=VnNF1IyMAAAA:8 a=7CQSdrXTAAAA:8 a=Ikd4Dj_1AAAA:8 a=uVBhFXSbKd2CZzvqDNAA:9 a=a-qgeE7W1pNrGK8U0ZQC:22 X-Proofpoint-GUID: eIyWTsAhw2kzj6p73y_AIndWzuhpao_0 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwODE2MDAyNyBTYWx0ZWRfXy5LiTrSgbkSZ jNILPQvNqn8DKjgJUqVICHjr+wodCkaE5edQdFqtAmap8cdpO8yON+CzaG6ZHZz6YjXkV9v7wmx Eda++xk6SOHDZ8vn6odWuik86jy5i36VyKO/iK1h59z81OmGFBddDMZjpoP+XmLL+tgGtftuVGd qB/AIC57RuiBoTtJmFVvKgRGw9M8TKgIWSCWA9oJedUYfLNxy4YbTwXmIfZP2vN5SWAfPZjem1u zgDlLD2uBa+xuWM79Wj+UVcnX/ehF1CsGNqDDHttgMLEKjnnrUBAfgaf7H5NTO2b2RE0G+dmAmK dIHMl2mPIe/DGsYtUA5zpOqAdNW0bBmmM8q+nFjrU2DMgo0VUbIX3/+eMQewklPg1kI/iJQ+tNd kdLguIa7 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1099,Hydra:6.1.9,FMLib:17.12.80.40 definitions=2025-08-16_01,2025-08-14_01,2025-03-28_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 adultscore=0 spamscore=0 clxscore=1015 phishscore=0 suspectscore=0 malwarescore=0 priorityscore=1501 bulkscore=0 impostorscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2507300000 definitions=main-2508160027 Content-Type: text/plain; charset="utf-8" From: Donet Tom The split_huge_page_test fails on systems with a 64KB base page size. This is because the order of a 2MB huge page is different: On 64KB systems, the order is 5. On 4KB systems, it's 9. The test currently assumes a maximum huge page order of 9, which is only valid for 4KB base page systems. On systems with 64KB pages, attempting to split huge pages beyond their actual order (5) causes the test to fail. In this patch, we calculate the huge page order based on the system's base page size. With this change, the tests now run successfully on both 64KB and 4KB page size systems. Fixes: fa6c02315f745 ("mm: huge_memory: a new debugfs interface for splitti= ng THP tests") Co-developed-by: Aboorva Devarajan Signed-off-by: Aboorva Devarajan Reviewed-by: Dev Jain Reviewed-by: Zi Yan Signed-off-by: Donet Tom Reviewed-by: Wei Yang --- tools/testing/selftests/mm/cow.c | 5 ----- .../selftests/mm/split_huge_page_test.c | 22 ++++++++++++------- tools/testing/selftests/mm/uffd-wp-mremap.c | 5 ----- tools/testing/selftests/mm/vm_util.h | 5 +++++ 4 files changed, 19 insertions(+), 18 deletions(-) diff --git a/tools/testing/selftests/mm/cow.c b/tools/testing/selftests/mm/= cow.c index 90ee5779662f..e742d9313798 100644 --- a/tools/testing/selftests/mm/cow.c +++ b/tools/testing/selftests/mm/cow.c @@ -41,11 +41,6 @@ static size_t hugetlbsizes[10]; static int gup_fd; static bool has_huge_zeropage; =20 -static int sz2ord(size_t size) -{ - return __builtin_ctzll(size / pagesize); -} - static int detect_thp_sizes(size_t sizes[], int max) { int count =3D 0; diff --git a/tools/testing/selftests/mm/split_huge_page_test.c b/tools/test= ing/selftests/mm/split_huge_page_test.c index eadbeb820d71..7cbeaebc9d71 100644 --- a/tools/testing/selftests/mm/split_huge_page_test.c +++ b/tools/testing/selftests/mm/split_huge_page_test.c @@ -523,6 +523,9 @@ int main(int argc, char **argv) const char *fs_loc; bool created_tmp; int offset; + unsigned int max_order; + unsigned int nr_pages; + unsigned int tests; =20 ksft_print_header(); =20 @@ -534,35 +537,38 @@ int main(int argc, char **argv) if (argc > 1) optional_xfs_path =3D argv[1]; =20 - ksft_set_plan(1+8+1+9+9+8*4+2); - pagesize =3D getpagesize(); pageshift =3D ffs(pagesize) - 1; pmd_pagesize =3D read_pmd_pagesize(); if (!pmd_pagesize) ksft_exit_fail_msg("Reading PMD pagesize failed\n"); =20 + nr_pages =3D pmd_pagesize / pagesize; + max_order =3D sz2ord(pmd_pagesize); + tests =3D 2 + (max_order - 1) + (2 * max_order) + (max_order - 1) * 4 + 2; + ksft_set_plan(tests); + fd_size =3D 2 * pmd_pagesize; =20 split_pmd_zero_pages(); =20 - for (i =3D 0; i < 9; i++) + for (i =3D 0; i < max_order; i++) if (i !=3D 1) split_pmd_thp_to_order(i); =20 split_pte_mapped_thp(); - for (i =3D 0; i < 9; i++) + for (i =3D 0; i < max_order; i++) split_file_backed_thp(i); =20 created_tmp =3D prepare_thp_fs(optional_xfs_path, fs_loc_template, &fs_loc); - for (i =3D 8; i >=3D 0; i--) + for (i =3D max_order - 1; i >=3D 0; i--) split_thp_in_pagecache_to_order_at(fd_size, fs_loc, i, -1); =20 - for (i =3D 0; i < 9; i++) + for (i =3D 0; i < max_order; i++) for (offset =3D 0; - offset < pmd_pagesize / pagesize; - offset +=3D MAX(pmd_pagesize / pagesize / 4, 1 << i)) + offset < nr_pages; + offset +=3D MAX(nr_pages / 4, 1 << i)) split_thp_in_pagecache_to_order_at(fd_size, fs_loc, i, offset); cleanup_thp_fs(fs_loc, created_tmp); =20 diff --git a/tools/testing/selftests/mm/uffd-wp-mremap.c b/tools/testing/se= lftests/mm/uffd-wp-mremap.c index 13ceb5628970..7140b2f9c452 100644 --- a/tools/testing/selftests/mm/uffd-wp-mremap.c +++ b/tools/testing/selftests/mm/uffd-wp-mremap.c @@ -19,11 +19,6 @@ static size_t thpsizes[20]; static int nr_hugetlbsizes; static size_t hugetlbsizes[10]; =20 -static int sz2ord(size_t size) -{ - return __builtin_ctzll(size / pagesize); -} - static int detect_thp_sizes(size_t sizes[], int max) { int count =3D 0; diff --git a/tools/testing/selftests/mm/vm_util.h b/tools/testing/selftests= /mm/vm_util.h index 1843ad48d32b..85f7dae9a0c1 100644 --- a/tools/testing/selftests/mm/vm_util.h +++ b/tools/testing/selftests/mm/vm_util.h @@ -127,6 +127,11 @@ static inline void log_test_result(int result) ksft_test_result_report(result, "%s\n", test_name); } =20 +static inline int sz2ord(size_t size) +{ + return __builtin_ctzll(size / getpagesize()); +} + void *sys_mremap(void *old_address, unsigned long old_size, unsigned long new_size, int flags, void *new_address); =20 --=20 2.47.1 From nobody Sat Oct 4 12:41:08 2025 Received: from mx0b-001b2d01.pphosted.com (mx0b-001b2d01.pphosted.com [148.163.158.5]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 411D61DDC07; Sat, 16 Aug 2025 04:02:47 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=148.163.158.5 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755316969; cv=none; b=Ko6suO+qcNdg0KjRIWtwcgpmKk7YrL1MFt6KauzCZ/K1wYpTKnfUHXcUePSifk23fhd4lG7aXwgiG6XdnhafNHXJP0gVsw3NPrND0IOWxCYTtFd/8U8HVvRvzNzIJ+BB/CBzzAJYFYD8ANo5LJBJrreQrgD25cKoDQMsgh6OpQA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755316969; c=relaxed/simple; bh=zbbVKHlNtdGb4++SbkoTm6z+ngeScGYPfvfvaNeu+nU=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=j/aHwTAWA44Z07UYoVgYP9097TBCIsmtP4d0UnnAba2Q+S4FIR/+NJzBGX5D41E+YK1r+fF2xPYm7MLrZaJ9Mc7pw3KJz5Xp2N1mteQ8kNxsHSzjgPCaBq2CTWGbbvtvL0B4VUmUn6i1WnfUeAd2fXrxiwYmLIVVBy3YEVXHnGc= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.ibm.com; spf=pass smtp.mailfrom=linux.ibm.com; dkim=pass (2048-bit key) header.d=ibm.com header.i=@ibm.com header.b=cX3gpkWm; arc=none smtp.client-ip=148.163.158.5 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.ibm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linux.ibm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=ibm.com header.i=@ibm.com header.b="cX3gpkWm" Received: from pps.filterd (m0356516.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 57G2xJ8F018155; Sat, 16 Aug 2025 04:02:34 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ibm.com; h=cc :content-transfer-encoding:date:from:in-reply-to:message-id :mime-version:references:subject:to; s=pp1; bh=nHo2SN3gcGzUExjzy KYW/0FDFz7FrPaEIlRYkrngvPI=; b=cX3gpkWmwyOa3UaZ7FdMsc/g5S/kPaE3K aGotc2tFLjsNpp1PElaPZG+ELj18BtiHiTNYhlOJPxdvG0k4/JXfye2GCX91R7Tk pNNgog1oX5vzpO4Qy7UfIw9s8mNQinYZ5TR1dMADVk9EmVVDbriNgAnj9jaqHqhc dVt9pV7NPrWx+hiZa7+4vYtAS+hO9t9/HdquO08R0/1KoPSlZ4IwpJq5dMpMA7lq k+bSl/1OncLeMdALlNtq+BkjJS5iuAsGA1ItlZBCKfgUB21kNu927KxLB/rIP8qx uYX5mnCvXMOlSJSpX1g9iOnOOzzrTHI/+IjhZAiBhfiyFFEbMuqYQ== Received: from pps.reinject (localhost [127.0.0.1]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 48jfdrgf99-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Sat, 16 Aug 2025 04:02:33 +0000 (GMT) Received: from m0356516.ppops.net (m0356516.ppops.net [127.0.0.1]) by pps.reinject (8.18.1.12/8.18.0.8) with ESMTP id 57G42XFB000377; Sat, 16 Aug 2025 04:02:33 GMT Received: from ppma23.wdc07v.mail.ibm.com (5d.69.3da9.ip4.static.sl-reverse.com [169.61.105.93]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 48jfdrgf96-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Sat, 16 Aug 2025 04:02:33 +0000 (GMT) Received: from pps.filterd (ppma23.wdc07v.mail.ibm.com [127.0.0.1]) by ppma23.wdc07v.mail.ibm.com (8.18.1.2/8.18.1.2) with ESMTP id 57G20xAS028585; Sat, 16 Aug 2025 04:02:32 GMT Received: from smtprelay02.fra02v.mail.ibm.com ([9.218.2.226]) by ppma23.wdc07v.mail.ibm.com (PPS) with ESMTPS id 48ej5nkqsk-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Sat, 16 Aug 2025 04:02:32 +0000 Received: from smtpav05.fra02v.mail.ibm.com (smtpav05.fra02v.mail.ibm.com [10.20.54.104]) by smtprelay02.fra02v.mail.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id 57G42S3053150096 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Sat, 16 Aug 2025 04:02:28 GMT Received: from smtpav05.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 314C520040; Sat, 16 Aug 2025 04:02:28 +0000 (GMT) Received: from smtpav05.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id CD89820043; Sat, 16 Aug 2025 04:02:16 +0000 (GMT) Received: from aboo.ibm.com.com (unknown [9.36.5.210]) by smtpav05.fra02v.mail.ibm.com (Postfix) with ESMTP; Sat, 16 Aug 2025 04:02:16 +0000 (GMT) From: Aboorva Devarajan To: akpm@linux-foundation.org, Liam.Howlett@oracle.com, lorenzo.stoakes@oracle.com, shuah@kernel.org, pfalcato@suse.de, david@redhat.com, ziy@nvidia.com, baolin.wang@linux.alibaba.com, npache@redhat.com, ryan.roberts@arm.com, dev.jain@arm.com, baohua@kernel.org, richard.weiyang@gmail.com Cc: linux-mm@kvack.org, linux-kselftest@vger.kernel.org, linux-kernel@vger.kernel.org, donettom@linux.ibm.com, ritesh.list@gmail.com, aboorvad@linux.ibm.com Subject: [PATCH v4 5/7] selftests/mm: fix child process exit codes in ksm_functional_tests Date: Sat, 16 Aug 2025 09:31:11 +0530 Message-ID: <20250816040113.760010-6-aboorvad@linux.ibm.com> X-Mailer: git-send-email 2.50.1 In-Reply-To: <20250816040113.760010-1-aboorvad@linux.ibm.com> References: <20250816040113.760010-1-aboorvad@linux.ibm.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-TM-AS-GCONF: 00 X-Proofpoint-ORIG-GUID: TmCRbYxGb0dZO1krQqFm6IMPizm63qOO X-Proofpoint-GUID: Wi2bis6C76syRZp2ba6H0tsiN2ypFzRn X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwODE2MDAwMSBTYWx0ZWRfX+Oe+LBRxCe3d 1r8z+4/YjhBB3hzbFvUSXxKzOAQPEn6Djp1CtS450SPUoJglpwbEd1uIrGC4+7ojwI043ubwXTA NKStX7qWPTQMKBi134X+mHO34xJf27UE4pQCLXhlr7ryrKp5aiTyoVoX0xMPrUNryeT8bYXQm19 eKplf56tSqQoJuhTZI3abCdgpBM2Lep07Pi1VnIV8qgihhisR0tQ3mw4qA4P1D3XFBgetarAKUu 4XsP89Gm5cKnbNHekB97h3Z38aOvvH/vS+oQvstYvToXA2bq8tTWivCdUJcyymL2bnGQmRB1A/w HsrVvyXgDi9Z+ER85d2aDkTqv84cAoUzL9fP20bCwSgus+m3vhZtXzM0D9sH9aqdisQEn/UK70F NUuDDoU6 X-Authority-Analysis: v=2.4 cv=GotC+l1C c=1 sm=1 tr=0 ts=68a002d9 cx=c_pps a=3Bg1Hr4SwmMryq2xdFQyZA==:117 a=3Bg1Hr4SwmMryq2xdFQyZA==:17 a=2OwXVqhp2XgA:10 a=VnNF1IyMAAAA:8 a=20KFwNOVAAAA:8 a=1sOJkUf8yoZECTHbNm8A:9 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1099,Hydra:6.1.9,FMLib:17.12.80.40 definitions=2025-08-16_01,2025-08-14_01,2025-03-28_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 impostorscore=0 spamscore=0 adultscore=0 suspectscore=0 clxscore=1015 priorityscore=1501 malwarescore=0 bulkscore=0 phishscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2507300000 definitions=main-2508160001 Content-Type: text/plain; charset="utf-8" In ksm_functional_tests, test_child_ksm() returned negative values to indicate errors. However, when passed to exit(), these were interpreted as large unsigned values (e.g, -2 became 254), leading to incorrect handling in the parent process. As a result, some tests appeared to be skipped or silently failed. This patch changes test_child_ksm() to return positive error codes (1, 2, 3) and updates test_child_ksm_err() to interpret them correctly. Additionally, test_prctl_fork_exec() now uses exit(4) after a failed execv() to clearly signal exec failures. This ensures the parent accurately detects and reports child process failures. Acked-by: David Hildenbrand Reviewed-by: Wei Yang -------------- Before patch: -------------- - [RUN] test_unmerge ok 1 Pages were unmerged ... - [RUN] test_prctl_fork - No pages got merged - [RUN] test_prctl_fork_exec ok 7 PR_SET_MEMORY_MERGE value is inherited ... Bail out! 1 out of 8 tests failed - Planned tests !=3D run tests (9 !=3D 8) - Totals: pass:7 fail:1 xfail:0 xpass:0 skip:0 error:0 -------------- After patch: -------------- - [RUN] test_unmerge ok 1 Pages were unmerged ... - [RUN] test_prctl_fork - No pages got merged not ok 7 Merge in child failed - [RUN] test_prctl_fork_exec ok 8 PR_SET_MEMORY_MERGE value is inherited ... Bail out! 2 out of 9 tests failed - Totals: pass:7 fail:2 xfail:0 xpass:0 skip:0 error:0 Fixes: 6c47de3be3a0 ("selftest/mm: ksm_functional_tests: extend test case f= or ksm fork/exec") Co-developed-by: Donet Tom Signed-off-by: Donet Tom Acked-by: David Hildenbrand Signed-off-by: Aboorva Devarajan --- .../testing/selftests/mm/ksm_functional_tests.c | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/tools/testing/selftests/mm/ksm_functional_tests.c b/tools/test= ing/selftests/mm/ksm_functional_tests.c index 996dc6645570..534aa405cac7 100644 --- a/tools/testing/selftests/mm/ksm_functional_tests.c +++ b/tools/testing/selftests/mm/ksm_functional_tests.c @@ -512,14 +512,14 @@ static int test_child_ksm(void) =20 /* Test if KSM is enabled for the process. */ if (prctl(PR_GET_MEMORY_MERGE, 0, 0, 0, 0) !=3D 1) - return -1; + return 1; =20 /* Test if merge could really happen. */ map =3D __mmap_and_merge_range(0xcf, size, PROT_READ | PROT_WRITE, KSM_ME= RGE_NONE); if (map =3D=3D MAP_MERGE_FAIL) - return -2; + return 2; else if (map =3D=3D MAP_MERGE_SKIP) - return -3; + return 3; =20 ksm_unmerge(); munmap(map, size); @@ -528,12 +528,14 @@ static int test_child_ksm(void) =20 static void test_child_ksm_err(int status) { - if (status =3D=3D -1) + if (status =3D=3D 1) ksft_test_result_fail("unexpected PR_GET_MEMORY_MERGE result in child\n"= ); - else if (status =3D=3D -2) + else if (status =3D=3D 2) ksft_test_result_fail("Merge in child failed\n"); - else if (status =3D=3D -3) + else if (status =3D=3D 3) ksft_test_result_skip("Merge in child skipped\n"); + else if (status =3D=3D 4) + ksft_test_result_fail("Binary not found\n"); } =20 /* Verify that prctl ksm flag is inherited. */ @@ -606,7 +608,7 @@ static void test_prctl_fork_exec(void) char *argv_for_program[] =3D { prg_name, FORK_EXEC_CHILD_PRG_NAME, NULL = }; =20 execv(prg_name, argv_for_program); - return; + exit(4); } =20 if (waitpid(child_pid, &status, 0) > 0) { --=20 2.47.1 From nobody Sat Oct 4 12:41:08 2025 Received: from mx0a-001b2d01.pphosted.com (mx0a-001b2d01.pphosted.com [148.163.156.1]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id F1C171D90C8; Sat, 16 Aug 2025 04:03:05 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=148.163.156.1 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755316987; cv=none; b=ScM3MN5+YZ9xqxbrS/P5ByQHhutSAOB/Urw6fY2gUm501UMYhjz890PTs1H9khBefMNBHhvW2wv87lozADHaLhf34mooMeMFf3dyslmTh3FvhiAddaxraC8HwK0et6kRpZa6fc5e9Mvgub4jiN0kyZbDDkGz24LQB4//A2aFVeg= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755316987; c=relaxed/simple; bh=pVcIhpvJYfVILv4WzC4yMiaLnCC2bnXyMnH6Y2HtHBA=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=GhdE0EpsvRE7NGHzIu0fsl6QO/lx5F+5Z08enshZuWgSe8M1ftiEr7L9URWp3hihc1Q56NlZucGEDGO92wdAgQeiAbOKZMbhfIS6m/Q3h5qhVu4AAUz/TRXVd75p7KADU6hgOqvUakeEAfotUiXnJ+nT3zlWiUdKXm/e2YWvidU= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.ibm.com; spf=pass smtp.mailfrom=linux.ibm.com; dkim=pass (2048-bit key) header.d=ibm.com header.i=@ibm.com header.b=rXqJDm6B; arc=none smtp.client-ip=148.163.156.1 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.ibm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linux.ibm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=ibm.com header.i=@ibm.com header.b="rXqJDm6B" Received: from pps.filterd (m0360083.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 57G2n380021873; Sat, 16 Aug 2025 04:02:46 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ibm.com; h=cc :content-transfer-encoding:date:from:in-reply-to:message-id :mime-version:references:subject:to; s=pp1; bh=/aBl03vFCknkuawje 8hxVJ4OWCSUgh09Oa3cpvTw+uE=; b=rXqJDm6BI1Pw/Ulov/hRwro6SJSwOzwBW 3v3wVJnKSxhuFxt4L0hSkxe6rQW4a/5qUXJionz+6wU91GeFoR2XWj7FdUZBQM4A 4kXtP3cDUHMhrMSRG3VyVZqzvlfVKlojnsgfrqHA/ELgZM7QrAKjXcHcsAiYbLCQ WfTAGfqHMeUTthzSZnGD+/c+4OUJUlGOvdcxkqTnkKVwG6ALOBDLrQoNediImGID mPNgKLl64ssC8D03a9DUS6apPfYW0UD/fhJlE0GWkjV+iYQkTRkwU/ca1jpe4fe9 Qxs6/ypWGQ3eUbwlTo7Kj+ebcdltoipvDZ3K491UjmFViNdE00/iw== Received: from pps.reinject (localhost [127.0.0.1]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 48jhggg4m5-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Sat, 16 Aug 2025 04:02:45 +0000 (GMT) Received: from m0360083.ppops.net (m0360083.ppops.net [127.0.0.1]) by pps.reinject (8.18.1.12/8.18.0.8) with ESMTP id 57G42j4G019883; Sat, 16 Aug 2025 04:02:45 GMT Received: from ppma22.wdc07v.mail.ibm.com (5c.69.3da9.ip4.static.sl-reverse.com [169.61.105.92]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 48jhggg4m2-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Sat, 16 Aug 2025 04:02:45 +0000 (GMT) Received: from pps.filterd (ppma22.wdc07v.mail.ibm.com [127.0.0.1]) by ppma22.wdc07v.mail.ibm.com (8.18.1.2/8.18.1.2) with ESMTP id 57G0Yx8K026279; Sat, 16 Aug 2025 04:02:44 GMT Received: from smtprelay07.fra02v.mail.ibm.com ([9.218.2.229]) by ppma22.wdc07v.mail.ibm.com (PPS) with ESMTPS id 48eh21kxtq-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Sat, 16 Aug 2025 04:02:43 +0000 Received: from smtpav05.fra02v.mail.ibm.com (smtpav05.fra02v.mail.ibm.com [10.20.54.104]) by smtprelay07.fra02v.mail.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id 57G42eHI51446244 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Sat, 16 Aug 2025 04:02:40 GMT Received: from smtpav05.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 0F0E820043; Sat, 16 Aug 2025 04:02:40 +0000 (GMT) Received: from smtpav05.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 182B920040; Sat, 16 Aug 2025 04:02:29 +0000 (GMT) Received: from aboo.ibm.com.com (unknown [9.36.5.210]) by smtpav05.fra02v.mail.ibm.com (Postfix) with ESMTP; Sat, 16 Aug 2025 04:02:28 +0000 (GMT) From: Aboorva Devarajan To: akpm@linux-foundation.org, Liam.Howlett@oracle.com, lorenzo.stoakes@oracle.com, shuah@kernel.org, pfalcato@suse.de, david@redhat.com, ziy@nvidia.com, baolin.wang@linux.alibaba.com, npache@redhat.com, ryan.roberts@arm.com, dev.jain@arm.com, baohua@kernel.org, richard.weiyang@gmail.com Cc: linux-mm@kvack.org, linux-kselftest@vger.kernel.org, linux-kernel@vger.kernel.org, donettom@linux.ibm.com, ritesh.list@gmail.com, aboorvad@linux.ibm.com Subject: [PATCH v4 6/7] selftests/mm: skip thuge-gen test if system is not setup properly Date: Sat, 16 Aug 2025 09:31:12 +0530 Message-ID: <20250816040113.760010-7-aboorvad@linux.ibm.com> X-Mailer: git-send-email 2.50.1 In-Reply-To: <20250816040113.760010-1-aboorvad@linux.ibm.com> References: <20250816040113.760010-1-aboorvad@linux.ibm.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-TM-AS-GCONF: 00 X-Proofpoint-GUID: a6MP_xSG01_aDuXWt6yFXE7qgCrF2ULW X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwODE2MDAyMiBTYWx0ZWRfX53U75hp/N0hN W4VGKczjEXDi1QJ1kq+bJq8dfeFPwJBIQvJkw1cdVub+G4g6S5IyeD5TIRCrx71D3Mv3KKSrMSA hANkhXytBT1f75SG2A48QngNFpX3HIWbXUJ4u6eY4XsYA0j7VGzV06dB9bSgG1XN11RtcApEyXb wduOaQaIeQ/HrmGGlibV8lv0ZA7i9wES5c6CBhde2GHMIRdZeEIIt4c4Z9tv+WeugSRTvLMDnVr +jqLGVELocPkAC67JeVIb8hHwFeY4GNHzSBORQVG5rFeilsWHeBRS70pUEqkyQpQFpLiqtCiaio vzsOIHYToDIQ7d3eZ7MsWbV9Q5PUJKudVAlhJqSPeqVKTfnAL2StwjjzU6dzOtgZqo8ztCPpgBM LVykbSKX X-Authority-Analysis: v=2.4 cv=XOUwSRhE c=1 sm=1 tr=0 ts=68a002e5 cx=c_pps a=5BHTudwdYE3Te8bg5FgnPg==:117 a=5BHTudwdYE3Te8bg5FgnPg==:17 a=2OwXVqhp2XgA:10 a=VnNF1IyMAAAA:8 a=7CQSdrXTAAAA:8 a=20KFwNOVAAAA:8 a=Ikd4Dj_1AAAA:8 a=9-ECl0np4EkliaZUNCgA:9 a=a-qgeE7W1pNrGK8U0ZQC:22 X-Proofpoint-ORIG-GUID: if8lV-oYGlA0Z2T0D5dhKpwFf_cTXoTq X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1099,Hydra:6.1.9,FMLib:17.12.80.40 definitions=2025-08-16_01,2025-08-14_01,2025-03-28_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 suspectscore=0 malwarescore=0 spamscore=0 clxscore=1015 priorityscore=1501 impostorscore=0 adultscore=0 bulkscore=0 phishscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2507300000 definitions=main-2508160022 Content-Type: text/plain; charset="utf-8" Make thuge-gen skip instead of fail when it can't run due to system settings. If shmmax is too small or no 1G huge pages are available, the test now prints a warning and is marked as skipped. Acked-by: David Hildenbrand Reviewed-by: Dev Jain Reviewed-by: Wei Yang Reviewed-by: Zi Yan ------------------- Before Patch: ------------------- ~ running ./thuge-gen ~ Bail out! Please do echo 262144 > /proc/sys/kernel/shmmax ~ Totals: pass:0 fail:0 xfail:0 xpass:0 skip:0 error:0 ~ [FAIL] not ok 28 thuge-gen ~ exit=3D1 ------------------- After Patch: ------------------- ~ running ./thuge-gen ~ ~ WARNING: shmmax is too small to run this test. ~ ~ Please run the following command to increase shmmax: ~ ~ echo 262144 > /proc/sys/kernel/shmmax ~ 1..0 ~ SKIP Test skipped due to insufficient shmmax value. ~ [SKIP] ok 29 thuge-gen ~ SKIP Co-developed-by: Donet Tom Signed-off-by: Donet Tom Reviewed-by: Dev Jain Acked-by: David Hildenbrand Reviewed-by: Zi Yan Signed-off-by: Aboorva Devarajan --- tools/testing/selftests/mm/thuge-gen.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/tools/testing/selftests/mm/thuge-gen.c b/tools/testing/selftes= ts/mm/thuge-gen.c index 8e2b08dc5762..4f5e290ff1a6 100644 --- a/tools/testing/selftests/mm/thuge-gen.c +++ b/tools/testing/selftests/mm/thuge-gen.c @@ -177,13 +177,16 @@ void find_pagesizes(void) globfree(&g); =20 read_sysfs("/proc/sys/kernel/shmmax", &shmmax_val); - if (shmmax_val < NUM_PAGES * largest) - ksft_exit_fail_msg("Please do echo %lu > /proc/sys/kernel/shmmax", - largest * NUM_PAGES); + if (shmmax_val < NUM_PAGES * largest) { + ksft_print_msg("WARNING: shmmax is too small to run this test.\n"); + ksft_print_msg("Please run the following command to increase shmmax:\n"); + ksft_print_msg("echo %lu > /proc/sys/kernel/shmmax\n", largest * NUM_PAG= ES); + ksft_exit_skip("Test skipped due to insufficient shmmax value.\n"); + } =20 #if defined(__x86_64__) if (largest !=3D 1U<<30) { - ksft_exit_fail_msg("No GB pages available on x86-64\n" + ksft_exit_skip("No GB pages available on x86-64\n" "Please boot with hugepagesz=3D1G hugepages=3D%d\n", NUM_PAGES); } #endif --=20 2.47.1 From nobody Sat Oct 4 12:41:08 2025 Received: from mx0a-001b2d01.pphosted.com (mx0a-001b2d01.pphosted.com [148.163.156.1]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id AAE461D90C8; Sat, 16 Aug 2025 04:03:13 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=148.163.156.1 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755316995; cv=none; b=tn9Q19LTVQnyemn+zUb8sMqRxbr9jlLqAMd7YZzeriwS4iIp3XUDI+vl3OtRv5C+zkd/BL6wluRTVsBp1JC/QAt/gEObmeTxGIsoeHJ6A7DkAnbXQD6IEnJI6AQtDnmOuHcH4tVKi8D9AkC/c8C0eeH0nKFZkMSH6qt5yR5/KmM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755316995; c=relaxed/simple; bh=OY7cu1ptwp7Q4/IfJC0uHnFCndwrR+zv2mdDP6P9Y2c=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=blKsffZRMDW8JWG9wyxEZrk/QDVvmKvYmbPtPFj62VlGK3S3H3u4Etev8LfqEkj8fW2Y2BJDHsC0ZdHMbZ6h7gApNl1ZndO/nJrebOxPCoq20eNEPVsR3TKxY+I06S1iQcNBtNQ9VKDkGdEtSisM8KuWg0C2tdnxjWqeLaJeDBU= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.ibm.com; spf=pass smtp.mailfrom=linux.ibm.com; dkim=pass (2048-bit key) header.d=ibm.com header.i=@ibm.com header.b=j9Td8sW2; arc=none smtp.client-ip=148.163.156.1 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.ibm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linux.ibm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=ibm.com header.i=@ibm.com header.b="j9Td8sW2" Received: from pps.filterd (m0353729.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 57G304XN027324; Sat, 16 Aug 2025 04:02:58 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ibm.com; h=cc :content-transfer-encoding:date:from:in-reply-to:message-id :mime-version:references:subject:to; s=pp1; bh=PMcQ23ZFIrS4lFSR/ NDkPpS8Eu4jYkAwRz0zhZuUv6k=; b=j9Td8sW2STyOO/pbDydh8RUjN5ieShndq VG+a+Rq3OgI0/GBFva3YHlrJaAv7B5SPDl8KyUvI20BkonUdXEKSf3lMlGxLG2PC oMrgKgFh8OT4kqcoGZr9oXfURLdTgKRjJtrzhjkEkG52yq7Afj9KqPanH6X2pUGv 5DmVqyaqtoABEKJed83ay+Lj4hGJe4kEFBM6MDAAqA110Ke2ffKGKLs37D9U1UcY sPcwgdXSfUyx+IC/fR5bT4Uo7d7aX6w+FpXLkaCO9LrKqdPnf+FNfHQY2h7k3BCM ZL+5dBFm97XxGaPFEErBcmr7ok3pcUbr+7ODtLbzbWVmdCC+83xbw== Received: from pps.reinject (localhost [127.0.0.1]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 48jhnxr46j-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Sat, 16 Aug 2025 04:02:58 +0000 (GMT) Received: from m0353729.ppops.net (m0353729.ppops.net [127.0.0.1]) by pps.reinject (8.18.1.12/8.18.0.8) with ESMTP id 57G42vcS004763; Sat, 16 Aug 2025 04:02:57 GMT Received: from ppma21.wdc07v.mail.ibm.com (5b.69.3da9.ip4.static.sl-reverse.com [169.61.105.91]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 48jhnxr46e-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Sat, 16 Aug 2025 04:02:57 +0000 (GMT) Received: from pps.filterd (ppma21.wdc07v.mail.ibm.com [127.0.0.1]) by ppma21.wdc07v.mail.ibm.com (8.18.1.2/8.18.1.2) with ESMTP id 57G1TB5j020615; Sat, 16 Aug 2025 04:02:56 GMT Received: from smtprelay05.fra02v.mail.ibm.com ([9.218.2.225]) by ppma21.wdc07v.mail.ibm.com (PPS) with ESMTPS id 48ehnqbrv4-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Sat, 16 Aug 2025 04:02:56 +0000 Received: from smtpav05.fra02v.mail.ibm.com (smtpav05.fra02v.mail.ibm.com [10.20.54.104]) by smtprelay05.fra02v.mail.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id 57G42qLp49873340 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Sat, 16 Aug 2025 04:02:52 GMT Received: from smtpav05.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 225C920043; Sat, 16 Aug 2025 04:02:52 +0000 (GMT) Received: from smtpav05.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 04A7420040; Sat, 16 Aug 2025 04:02:41 +0000 (GMT) Received: from aboo.ibm.com.com (unknown [9.36.5.210]) by smtpav05.fra02v.mail.ibm.com (Postfix) with ESMTP; Sat, 16 Aug 2025 04:02:40 +0000 (GMT) From: Aboorva Devarajan To: akpm@linux-foundation.org, Liam.Howlett@oracle.com, lorenzo.stoakes@oracle.com, shuah@kernel.org, pfalcato@suse.de, david@redhat.com, ziy@nvidia.com, baolin.wang@linux.alibaba.com, npache@redhat.com, ryan.roberts@arm.com, dev.jain@arm.com, baohua@kernel.org, richard.weiyang@gmail.com Cc: linux-mm@kvack.org, linux-kselftest@vger.kernel.org, linux-kernel@vger.kernel.org, donettom@linux.ibm.com, ritesh.list@gmail.com, aboorvad@linux.ibm.com Subject: [PATCH v4 7/7] selftests/mm: skip hugepage-mremap test if userfaultfd unavailable Date: Sat, 16 Aug 2025 09:31:13 +0530 Message-ID: <20250816040113.760010-8-aboorvad@linux.ibm.com> X-Mailer: git-send-email 2.50.1 In-Reply-To: <20250816040113.760010-1-aboorvad@linux.ibm.com> References: <20250816040113.760010-1-aboorvad@linux.ibm.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-TM-AS-GCONF: 00 X-Authority-Analysis: v=2.4 cv=XbqJzJ55 c=1 sm=1 tr=0 ts=68a002f2 cx=c_pps a=GFwsV6G8L6GxiO2Y/PsHdQ==:117 a=GFwsV6G8L6GxiO2Y/PsHdQ==:17 a=2OwXVqhp2XgA:10 a=VnNF1IyMAAAA:8 a=20KFwNOVAAAA:8 a=Ikd4Dj_1AAAA:8 a=9-ECl0np4EkliaZUNCgA:9 X-Proofpoint-ORIG-GUID: DsoJurbOVixvCwG9hjw2GXYFWuwatWgd X-Proofpoint-GUID: nGAL8WzpqwAdoD_KGG-f6QOBx5h3cC75 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwODE2MDAyNyBTYWx0ZWRfX7wdgCsGcsdTN Y3TlhNndkcy962LcryatPdwy4CAd45T+YeL7jbdV2QSxLkMIImqqkQP3LET3Mbmh2so6bemJigL xyV/zceGJTnBYfffdQMiAc6qbHAVvMXBEW389ndib7IeVFNsdBCRVNsmUSReml2suKuwuZmzDzR vuj2nuMstzWIYhiuEwOSv33eJw4HavKdNfEkEavIhprAgbdBWSptXiO5cKabtue7JlJOMId8ygd FdJ3NYLcqfNijYJ/5/jj5jNY+WK9AlmqoPdGvjZ3wmPu1jTW5XsZWVloaFlS/mEon16h592mazQ MXlMR/IeY1GbRy6SyjMkZw7H9MzaQ88C0RQYz2+Z7fNrzwWDfp8fAferO4U6ZYGAk47IyDQ2QsQ LQxUg0WK X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1099,Hydra:6.1.9,FMLib:17.12.80.40 definitions=2025-08-16_01,2025-08-14_01,2025-03-28_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 phishscore=0 adultscore=0 suspectscore=0 priorityscore=1501 bulkscore=0 clxscore=1015 malwarescore=0 spamscore=0 impostorscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2507300000 definitions=main-2508160027 Content-Type: text/plain; charset="utf-8" Gracefully skip test if userfaultfd is not supported (ENOSYS) or not permitted (EPERM), instead of failing. This avoids misleading failures with clear skip messages. Acked-by: David Hildenbrand Reviewed-by: Wei Yang Reviewed-by: Zi Yan -------------- Before Patch -------------- ~ running ./hugepage-mremap ... ~ Bail out! userfaultfd: Function not implemented ~ Planned tests !=3D run tests (1 !=3D 0) ~ Totals: pass:0 fail:0 xfail:0 xpass:0 skip:0 error:0 ~ [FAIL] not ok 4 hugepage-mremap # exit=3D1 -------------- After Patch -------------- ~ running ./hugepage-mremap ... ~ ok 2 # SKIP userfaultfd is not supported/not enabled. ~ 1 skipped test(s) detected. ~ Totals: pass:0 fail:0 xfail:0 xpass:0 skip:1 error:0 ~ [SKIP] ok 4 hugepage-mremap # SKIP Co-developed-by: Donet Tom Signed-off-by: Donet Tom Acked-by: David Hildenbrand Reviewed-by: Zi Yan Signed-off-by: Aboorva Devarajan --- tools/testing/selftests/mm/hugepage-mremap.c | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/tools/testing/selftests/mm/hugepage-mremap.c b/tools/testing/s= elftests/mm/hugepage-mremap.c index c463d1c09c9b..2bd1dac75c3f 100644 --- a/tools/testing/selftests/mm/hugepage-mremap.c +++ b/tools/testing/selftests/mm/hugepage-mremap.c @@ -65,10 +65,20 @@ static void register_region_with_uffd(char *addr, size_= t len) struct uffdio_api uffdio_api; =20 /* Create and enable userfaultfd object. */ - uffd =3D syscall(__NR_userfaultfd, O_CLOEXEC | O_NONBLOCK); - if (uffd =3D=3D -1) - ksft_exit_fail_msg("userfaultfd: %s\n", strerror(errno)); + if (uffd =3D=3D -1) { + switch (errno) { + case EPERM: + ksft_exit_skip("Insufficient permissions, try running as root.\n"); + break; + case ENOSYS: + ksft_exit_skip("userfaultfd is not supported/not enabled.\n"); + break; + default: + ksft_exit_fail_msg("userfaultfd failed with %s\n", strerror(errno)); + break; + } + } =20 uffdio_api.api =3D UFFD_API; uffdio_api.features =3D 0; --=20 2.47.1