From nobody Thu Oct 9 20:24:12 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 8EE3A45C0B; Mon, 16 Jun 2025 16:07:10 +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=1750090032; cv=none; b=VyvCJ/CK2tAdxJWjAMnhEkIU3VOV7hxSWKI7f2ncHTmA4YOPLPOVF1s9W3tduWx7NM+2HTeXw5H20Ma6gaeRgs9mUnTWCkmHvjUoKgzzHtzf220JBnQ5wWRWb8ihClCwzPP9DOq3GIbm01KoJiDocIJ//NyrbSyjifVPt55cLh0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1750090032; c=relaxed/simple; bh=2zRcQizOM4ntY0YZSkZU9ZEFZSs4ck7HXXAIL7uXvDA=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=YLwC5JCy7K23NnV4KmqJUh3yl7J2TowVCXT3gRkb7Z3T+gkzFhdnc+D0BEuuPUEJ7kR/pNZPRkQJbuxC26wp26uxRIVJ2B/qnjW9bGlkes+8KH/+tExlxQ+ZPGI978jBw4iBbmOjY5pUTN4ajvbIPTH/9F/l2mTIR3cYcDu7pCI= 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=mKrFUSEX; 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="mKrFUSEX" Received: from pps.filterd (m0353725.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 55G84HVG014238; Mon, 16 Jun 2025 16:06:51 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=gnb8gT4f9/b+H6cn3 hiFT7Ob32zrk4dZrwq1ZTZHFkU=; b=mKrFUSEXI4g/5YlUynL6xARLlxvoHpDpr GcuyRmQnKjgO2YosAvoUrfXqMQ9QtJGYxmOjrdOKoCtp5IzrA9d0hiqnwUU1kYI9 /zZUpGnm7JiK4nfswyNEoI99msAjwisqmPlT9Tvydvjf8zOd3AQchPVwTeh4HQAM rfW4eSBKOcOS12pAQOz1ewT5537raGy3ZXmVEWw52vfnCQY46ahFMhSCzYML91ok C4c/cLQo+gpeE3RZYVBSDrNFpmxr4wl4Yks2ND59rC9V6LScM4Ux9hqlrRrgfkbJ zQP0Y4yyBUOBqg0je1geY1Ug1aGPxd5tNki6iO3ZW8LTt0apMQt+A== Received: from pps.reinject (localhost [127.0.0.1]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 478ygn2vrw-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Mon, 16 Jun 2025 16:06:51 +0000 (GMT) Received: from m0353725.ppops.net (m0353725.ppops.net [127.0.0.1]) by pps.reinject (8.18.0.8/8.18.0.8) with ESMTP id 55GFumVA020812; Mon, 16 Jun 2025 16:06:50 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 478ygn2vrr-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Mon, 16 Jun 2025 16:06:50 +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 55GEXo5r014278; Mon, 16 Jun 2025 16:06:50 GMT Received: from smtprelay03.fra02v.mail.ibm.com ([9.218.2.224]) by ppma11.dal12v.mail.ibm.com (PPS) with ESMTPS id 479p426he5-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Mon, 16 Jun 2025 16:06:49 +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 55GG6kEI55640444 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 16 Jun 2025 16:06:46 GMT Received: from smtpav05.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 5DD7020043; Mon, 16 Jun 2025 16:06:46 +0000 (GMT) Received: from smtpav05.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id A8EDD20040; Mon, 16 Jun 2025 16:06:40 +0000 (GMT) Received: from li-c18b6acc-24ee-11b2-a85c-81492619bda1.ibm.com.com (unknown [9.43.33.110]) by smtpav05.fra02v.mail.ibm.com (Postfix) with ESMTP; Mon, 16 Jun 2025 16:06: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 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 1/6] mm/selftests: Fix virtual_address_range test issues. Date: Mon, 16 Jun 2025 21:36:27 +0530 Message-ID: <20250616160632.35250-2-aboorvad@linux.ibm.com> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250616160632.35250-1-aboorvad@linux.ibm.com> References: <20250616160632.35250-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-Spam-Details-Enc: AW1haW4tMjUwNjE2MDEwMiBTYWx0ZWRfX7L2TRUDsmRl/ /89I6QgAP3J0o6JXB66T3RtTOFDbAb7PH743/bnWGmFK+hkjXgTEZnMAYnGS914Gf36OgiaQpLy VvKE05H7HeNBHfc71cGGuxpzgQuevp59Hnvt7UldyUBc8ooeVxOoudSrJymltjeS6MdIP8vL9Mc 9lyivoEGcoC2s3zNUiXIThEZPNFhy+1BdGokk8vd0mpMVD12vq+ADQnL+BgEXWSlro6lHlWStQy LRJkUq3QnC+XeYXt83TvxYwXnlvX3KR8XR8Fq6O1W6daMG8Re5SIYryLjMTONI0Scea+AGpYXIM D/u+04szly/omVCtF+1Kp0xdefQPO4QnleDCuVbRlGppOLlFoq6V5ei/of/0yi0YgP+jITp/Bjz 1pjUXN6m6suo7COlrs//rDc3kgf4EcQ0IKWaublSwfZ6UrOJamcX9074Hk4vX7IV2DStmci6 X-Authority-Analysis: v=2.4 cv=fYSty1QF c=1 sm=1 tr=0 ts=6850411b cx=c_pps a=aDMHemPKRhS1OARIsFnwRA==:117 a=aDMHemPKRhS1OARIsFnwRA==:17 a=6IFa9wvqVegA:10 a=VnNF1IyMAAAA:8 a=0_35Z4S1ohBUcDDc-C8A:9 X-Proofpoint-ORIG-GUID: guKlIXlpthdCmbceel_anr-JnwHYfwfF X-Proofpoint-GUID: R_JBOrA5584VdThZW0qVwm_HUw4E4Mtb X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1099,Hydra:6.0.736,FMLib:17.12.80.40 definitions=2025-06-16_08,2025-06-13_01,2025-03-28_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 malwarescore=0 suspectscore=0 spamscore=0 mlxlogscore=999 lowpriorityscore=0 adultscore=0 mlxscore=0 impostorscore=0 bulkscore=0 phishscore=0 clxscore=1011 priorityscore=1501 classifier=spam authscore=0 authtc=n/a authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2505280000 definitions=main-2506160102 Content-Type: text/plain; charset="utf-8" From: Donet Tom In this patch, we are fixing three issues in the virtual_address_range test. 1. validate_addr() checks if the allocated address is within the range. In the current implementation, if addr is greater than HIGH_ADDR_MARK, the test fails. However, addr will be greater than HIGH_ADDR_MARK if high_addr is set. Therefore, if high_addr is set, we should not check the (addr > HIGH_ADDR_MARK) condition. 2.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. 3./proc/self/maps may not always have gaps smaller than MAP_CHUNK_SIZE. The gap between the first high address mapping and the previous mapping is not smaller than MAP_CHUNK_SIZE. $cat /proc/3713/maps 10000000-10010000 r-xp 00000000 fd:00 36140094 10010000-10020000 r--p 00000000 fd:00 36140094 10020000-10030000 rw-p 00010000 fd:00 36140094 4ee80000-4eeb0000 rw-p 00000000 00:00 0 578f0000-57c00000 rw-p 00000000 00:00 0 57c00000-7fff97c00000 r--p 00000000 00:00 0 7fff97c00000-7fff97e20000 r-xp 00000000 fd:00 33558923 7fff97e20000-7fff97e30000 r--p 00220000 fd:00 33558923 7fff97e30000-7fff97e40000 rw-p 00230000 fd:00 33558923 7fff97f40000-7fff98020000 r-xp 00000000 fd:00 33558924 7fff98020000-7fff98030000 r--p 000d0000 fd:00 33558924 7fff98030000-7fff98040000 rw-p 000e0000 fd:00 33558924 7fff98050000-7fff98090000 r--p 00000000 00:00 0 7fff98090000-7fff980a0000 r-xp 00000000 00:00 0 7fff980a0000-7fff980f0000 r-xp 00000000 fd:00 2634 7fff980f0000-7fff98100000 r--p 00040000 fd:00 2634 7fff98100000-7fff98110000 rw-p 00050000 fd:00 2634 7fffcf8a0000-7fffcf9b0000 rw-p 00000000 00:00 0 1000000000000-1000040000000 r--p 00000000 00:00 0 --> High Addr 2000000000000-2000040000000 r--p 00000000 00:00 0 4000000000000-4000040000000 r--p 00000000 00:00 0 8000000000000-8000040000000 r--p 00000000 00:00 0 e800098110000-fffff98110000 r--p 00000000 00:00 0 $ In this patch, the condition that checks for gaps smaller than MAP_CHUNK_SI= ZE has been removed. Fixes: d1d86ce28d0f ("selftests/mm: virtual_address_range: conform to TAP f= ormat output") Fixes: b2a79f62133a ("selftests/mm: virtual_address_range: unmap chunks aft= er validation") Fixes: 010409649885 ("selftests/mm: confirm VA exhaustion without reliance = on correctness of mmap()") Signed-off-by: Donet Tom Signed-off-by: Aboorva Devarajan --- tools/testing/selftests/mm/virtual_address_range.c | 14 +++----------- 1 file changed, 3 insertions(+), 11 deletions(-) diff --git a/tools/testing/selftests/mm/virtual_address_range.c b/tools/tes= ting/selftests/mm/virtual_address_range.c index b380e102b22f..606e601a8984 100644 --- a/tools/testing/selftests/mm/virtual_address_range.c +++ b/tools/testing/selftests/mm/virtual_address_range.c @@ -80,7 +80,7 @@ static void validate_addr(char *ptr, int high_addr) if (high_addr && addr < HIGH_ADDR_MARK) ksft_exit_fail_msg("Bad address %lx\n", addr); =20 - if (addr > HIGH_ADDR_MARK) + if (!high_addr && addr > HIGH_ADDR_MARK) ksft_exit_fail_msg("Bad address %lx\n", addr); } =20 @@ -117,7 +117,7 @@ static int validate_lower_address_hint(void) =20 static int validate_complete_va_space(void) { - unsigned long start_addr, end_addr, prev_end_addr; + unsigned long start_addr, end_addr; char line[400]; char prot[6]; FILE *file; @@ -134,7 +134,6 @@ static int validate_complete_va_space(void) if (file =3D=3D NULL) ksft_exit_fail_msg("cannot open /proc/self/maps\n"); =20 - prev_end_addr =3D 0; while (fgets(line, sizeof(line), file)) { const char *vma_name =3D NULL; int vma_name_start =3D 0; @@ -151,12 +150,6 @@ static int validate_complete_va_space(void) if (start_addr & (1UL << 63)) return 0; =20 - /* /proc/self/maps must have gaps less than MAP_CHUNK_SIZE */ - if (start_addr - prev_end_addr >=3D MAP_CHUNK_SIZE) - return 1; - - prev_end_addr =3D end_addr; - if (prot[0] !=3D 'r') continue; =20 @@ -223,8 +216,7 @@ int main(int argc, char *argv[]) =20 if (hptr[i] =3D=3D MAP_FAILED) break; - - mark_range(ptr[i], MAP_CHUNK_SIZE); + mark_range(hptr[i], MAP_CHUNK_SIZE); validate_addr(hptr[i], 1); } hchunks =3D i; --=20 2.43.5 From nobody Thu Oct 9 20:24:12 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 8CB5E286438; Mon, 16 Jun 2025 16:07:23 +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=1750090045; cv=none; b=tjYfGA6FDPyKp3H+eEdnoYaF9uuJ4l6MrByGRzaJsIul+urbbWeY9XUtcDkdS4hXC0kVpOPipygwz4AnfXVETDaMLtpE/lMAnnBgANugzQhmQa7WlazyVsqK34XsjFN7vTggMHHfpgkI76POMLvrgYek3T5rZDSxdrDn9aBWfP0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1750090045; c=relaxed/simple; bh=oHFZRZ3LfQZr5y/L4RTchRj2bJ20p1xbeXBC8n3jnNw=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=aDUYclWPF68iHnjBxbyw6ZRBm/InGZSaZMfuDrRUKM6MoO3DgJrX4TL2SW20ezdsVxTxJ1SgKzTrLCK8DtevzLAr28hp4yIhy8GhjqIIisewjCSw0ZI+5cO9SIsR2+YXGO/TBfoQ6+p1/ZHucyhimRnfJAkA3EBaa0+iUeb/vAw= 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=saNTRhBk; 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="saNTRhBk" 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 55G88dRW014140; Mon, 16 Jun 2025 16:06: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=xe0e17Cr1rJj295eX hp8vC9URjObKeiC1eU0faSu0MY=; b=saNTRhBk1qp2DZ82wm5UENHtt2QlyWfCx oB9bVix9PXWXMDoDywGuS8PWEtJhV20nMOkM3PbZmo3sCFvRQH3yxrBzz+5KfpOF cGQ6L5oTDYDX/sywMPZ38rJUHCc86cWwAmMsu1FkrjEV7r298fVoEOlvmH/kZgHL tMCWS0uIKsSLrMyWXR2bu38wTEuN1mk8wlhEKkoyAcNvQSnT08NaxvaFhqz7vCli t+ZnrRVj9MgmxyD8FcFFBbEsBoLPOhVVQXop7n9CHu/Q+zTGFkVrzPlMAbtvVkoF xFcn6nrQEVrRbSEiMnYsjxMl1fTf/eVquLIgVKXdbD1O7tYDlN9nw== Received: from pps.reinject (localhost [127.0.0.1]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 4794qp1wyv-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Mon, 16 Jun 2025 16:06:58 +0000 (GMT) Received: from m0356516.ppops.net (m0356516.ppops.net [127.0.0.1]) by pps.reinject (8.18.0.8/8.18.0.8) with ESMTP id 55GG6vfX006822; Mon, 16 Jun 2025 16:06: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 4794qp1wyt-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Mon, 16 Jun 2025 16:06: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 55GCcx9P000724; Mon, 16 Jun 2025 16:06:56 GMT Received: from smtprelay02.fra02v.mail.ibm.com ([9.218.2.226]) by ppma21.wdc07v.mail.ibm.com (PPS) with ESMTPS id 479mdnxw6n-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Mon, 16 Jun 2025 16:06: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 55GG6qjG31654396 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 16 Jun 2025 16:06:53 GMT Received: from smtpav05.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id D702120040; Mon, 16 Jun 2025 16:06:52 +0000 (GMT) Received: from smtpav05.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 097142004D; Mon, 16 Jun 2025 16:06:47 +0000 (GMT) Received: from li-c18b6acc-24ee-11b2-a85c-81492619bda1.ibm.com.com (unknown [9.43.33.110]) by smtpav05.fra02v.mail.ibm.com (Postfix) with ESMTP; Mon, 16 Jun 2025 16:06:46 +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 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 2/6] selftest/mm: Fix ksm_funtional_test failures Date: Mon, 16 Jun 2025 21:36:28 +0530 Message-ID: <20250616160632.35250-3-aboorvad@linux.ibm.com> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250616160632.35250-1-aboorvad@linux.ibm.com> References: <20250616160632.35250-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: y6-_jGxMO5Ixf-POL2mqGkYKbYwgfbm9 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwNjE2MDEwMiBTYWx0ZWRfX34W9jF4ui3Cu EsFMr1Z3PTiuT5+jFm5U6x/pNBXOXOvzAJIHjQqP5LIJwdahLaUTtQU7/Cbx606KEbXwaR55ZMc 1UBdDlVuSGMsDGkvfY7uQ1cNKzbh7ioY87VdOrj1f1CVHRr6FM1ctv2/4GDoYTvDkb3yZn7Fv7H Fw60Ju5277gBKI1+55xLGFSpMavBQHkOfEPLwjllKb+EBdiWgfDZGi9F8qx/nmxVJijeJud9O7c Yn4ThY3fWjfdO59jB5lGyt6sxo63kM+D/W+6KSEZYvvMDNdERrqGySESVy/Q6HLqBr31pthVrKD KJl4F6IawDKnlXdyVxWgrUNA1Vwq8wtla7+17SFmey8cSeUUMUqoH0kpZdMP/ejTw+gJp5HSEFp yiG0YQhwdyG51Fj4/g28VLUceBzGfkfAZelrrdaI++VVh01YXCjmMdW/hjUAKSrkZtr44Hxp X-Authority-Analysis: v=2.4 cv=NYfm13D4 c=1 sm=1 tr=0 ts=68504122 cx=c_pps a=GFwsV6G8L6GxiO2Y/PsHdQ==:117 a=GFwsV6G8L6GxiO2Y/PsHdQ==:17 a=6IFa9wvqVegA:10 a=VnNF1IyMAAAA:8 a=XZ3g74cd2hs7hPLhLkYA:9 X-Proofpoint-ORIG-GUID: -GNsCcKqF_06mTWmQeYuwTMVY67S1mTq X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1099,Hydra:6.0.736,FMLib:17.12.80.40 definitions=2025-06-16_08,2025-06-13_01,2025-03-28_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 bulkscore=0 adultscore=0 suspectscore=0 mlxlogscore=999 mlxscore=0 impostorscore=0 phishscore=0 lowpriorityscore=0 clxscore=1011 spamscore=0 priorityscore=1501 malwarescore=0 classifier=spam authscore=0 authtc=n/a authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2505280000 definitions=main-2506160102 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_merge_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. Signed-off-by: Donet Tom Signed-off-by: Aboorva Devarajan --- tools/testing/selftests/mm/ksm_functional_tests.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/tools/testing/selftests/mm/ksm_functional_tests.c b/tools/test= ing/selftests/mm/ksm_functional_tests.c index b61803e36d1c..d7d3c22c077a 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 @@ -428,6 +433,7 @@ static void test_unmerge_uffd_wp(void) close_uffd: close(uffd); unmap: + ksm_unmerge(); munmap(map, size); } #endif @@ -491,6 +497,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; } @@ -524,6 +531,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"); @@ -620,6 +628,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 @@ -653,6 +662,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.43.5 From nobody Thu Oct 9 20:24:12 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 7F4A82857FA; Mon, 16 Jun 2025 16:07:34 +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=1750090055; cv=none; b=hDW5TmzMBepgGpLHbnlwlUccLQcSINK4OpAIC7kMfqRrnbPDzqCP2luHpoGe07HXPPPY47KRN8sVRD+iR+4JEiCGteaOmO0Hy74/CeVFYdfVGOry6LgVTkzfPqcZLVJdmWcB4Ax5As7//2mxvclcQJWxK2kuK8lPkA2Kz5OGi0M= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1750090055; c=relaxed/simple; bh=x/x4aLow37aTk+L+jDqgnakkPvatvVHAPIBtyvRRXAo=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=B7aDkUBADrpssTcm56oazUlYHfFiZ4q8uacKFhElYxaDwaJQ1+guWI1vu9yhj1GaXqkAmUxZUSzC39KG6EzyHMo4k4zBuCnwTvP3aKtEDqajQrCmHrCehbxXGtIsWoStsOsqJAxp7WkpVwNddvhzeqpvq83DQlwgIvwNDaPEcdw= 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=iNRk/s67; 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="iNRk/s67" 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 55G991AY013046; Mon, 16 Jun 2025 16:07:05 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=iet6fkxV/bIEsJnYo huK8U1oRhWcyLPD+7ECreKi1GA=; b=iNRk/s677hvWl5SJmNWQ8g1hN5SKTaEv2 ynuDdNofhDqCaOdGWQgpR45skFbKx/cg2nClGzGUhuzz1ZOI30UVmEti2/RPynXD V7VGUqbGRLP2PZ23/032YZBBPaRgt2jGxqDdGCdBHXf9ptqCBxFLvOGn6e6za/J3 I3cl/LP3NQ+hVBWd2LkBg/lU/oF5RZnMSp9G/PlDNwFoFfvHjcZS8Ejwo2Nz7nG/ CH8JSZvJA6w9U6sAWzvnxsmlR63oGvYFNVruYMwKe5rMEpt9aTs9qy0V0unBLsg2 rSpk+8wdXG+NJLYp3I5fzbvm0AOww+5/HYQTJ0AXPRYdR2O7+osTw== Received: from pps.reinject (localhost [127.0.0.1]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 4790s4axkg-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Mon, 16 Jun 2025 16:07:05 +0000 (GMT) Received: from m0353729.ppops.net (m0353729.ppops.net [127.0.0.1]) by pps.reinject (8.18.0.8/8.18.0.8) with ESMTP id 55GG65t6024407; Mon, 16 Jun 2025 16:07:04 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 4790s4axkc-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Mon, 16 Jun 2025 16:07:04 +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 55GEWnwi014115; Mon, 16 Jun 2025 16:07:03 GMT Received: from smtprelay02.fra02v.mail.ibm.com ([9.218.2.226]) by ppma11.dal12v.mail.ibm.com (PPS) with ESMTPS id 479p426hf4-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Mon, 16 Jun 2025 16:07:02 +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 55GG6xcH38535528 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 16 Jun 2025 16:06:59 GMT Received: from smtpav05.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 5413E20043; Mon, 16 Jun 2025 16:06:59 +0000 (GMT) Received: from smtpav05.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 78E0A20040; Mon, 16 Jun 2025 16:06:53 +0000 (GMT) Received: from li-c18b6acc-24ee-11b2-a85c-81492619bda1.ibm.com.com (unknown [9.43.33.110]) by smtpav05.fra02v.mail.ibm.com (Postfix) with ESMTP; Mon, 16 Jun 2025 16:06:53 +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 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 3/6] selftests/mm : fix test_prctl_fork_exec failure Date: Mon, 16 Jun 2025 21:36:29 +0530 Message-ID: <20250616160632.35250-4-aboorvad@linux.ibm.com> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250616160632.35250-1-aboorvad@linux.ibm.com> References: <20250616160632.35250-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-Spam-Details-Enc: AW1haW4tMjUwNjE2MDEwMiBTYWx0ZWRfXwFJenYL91mJJ T+LXr+EzBm8zMdK61YwKeGS8+bR1mBgafkb+sU8R7WpxbY0wsFkfhP73YzxE0htoiaIK35Ey47K lSQg3x/ziTOrh52vWdotjOY//hhSRSJsuD3tKPfq7+v46z1Fl/nqNZ2PN8Ta+JcDgjeYuz4Iu9K Rpgs02Y8pxz3vGAhhgItO56BMC9wFJ3un7lpU9/Ja4xPihJe2xfbjmIEeoWeoViwjuiT2+mcIQB vUJdRqiNQ+my4m9z6dp2P8ma55qYx4glwk3DVBYcBSJKfU42l8ca1oofyOo3IpVh/Zb8ztSlZ1P pA6yOR8FbZg43HHP3eHm6nPNOxphA0uXPH9sWbprNVhcu960pV3p1liE1mFk49wECG8rEg/Lmqt r4plqFjY6cDMUAk1jdovaUuG2BxS4ncaxwEJOINYsDoOAglZjupvxIZI4oQMhbTDGIt82auH X-Proofpoint-ORIG-GUID: xAycF3Go-Ax1MCywO7bjkEKluqpDCkzb X-Authority-Analysis: v=2.4 cv=Qc9mvtbv c=1 sm=1 tr=0 ts=68504129 cx=c_pps a=aDMHemPKRhS1OARIsFnwRA==:117 a=aDMHemPKRhS1OARIsFnwRA==:17 a=6IFa9wvqVegA:10 a=VnNF1IyMAAAA:8 a=tTGku2e1hV2iMNi-bh4A:9 X-Proofpoint-GUID: zvUXO0GDhe6OEV-Y4q392kIY97Ih_us- X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1099,Hydra:6.0.736,FMLib:17.12.80.40 definitions=2025-06-16_08,2025-06-13_01,2025-03-28_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 malwarescore=0 spamscore=0 impostorscore=0 phishscore=0 mlxscore=0 lowpriorityscore=0 clxscore=1015 adultscore=0 bulkscore=0 mlxlogscore=956 suspectscore=0 classifier=spam authscore=0 authtc=n/a authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2505280000 definitions=main-2506160102 Content-Type: text/plain; charset="utf-8" From: Donet Tom execv argument is an array of pointers to null-terminated strings. In this patch we added NULL in the execv argument to fix the test failure. Signed-off-by: Donet Tom Signed-off-by: Aboorva Devarajan --- tools/testing/selftests/mm/ksm_functional_tests.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/testing/selftests/mm/ksm_functional_tests.c b/tools/test= ing/selftests/mm/ksm_functional_tests.c index d7d3c22c077a..6ea50272a0ba 100644 --- a/tools/testing/selftests/mm/ksm_functional_tests.c +++ b/tools/testing/selftests/mm/ksm_functional_tests.c @@ -579,7 +579,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; --=20 2.43.5 From nobody Thu Oct 9 20:24:12 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 7F51128641F; Mon, 16 Jun 2025 16:07:34 +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=1750090056; cv=none; b=R1umfLe6pt+DhnGJSuh36vyKt79AnzJoHD1TngFRVgtvkSzS309L9kePLo/dYDlb6Tzzl3/nr54UFWumulhcDhdZn2e5p4Na6xA5UPCzJx9G9wBVszsKun3rn/2gNI3kPy7wRH2B6Moau8zGEvoNOMv9Nmxnwq7kp71hQg70rMo= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1750090056; c=relaxed/simple; bh=Ja0mSxvul1qAPjO3+U+wyJO9DIdCThtiADXRlbc9cJM=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=FCefhQzjdMyR6iGGVkR/mpZV0diSTS48IiDQkHqZK9ZL3O+u++q15lcK5jPvB2L5HoLCd/VdxbKz1vhxO10t8efjx9hTHzw7ZVyx0orSrlaJ9e1SyrhK6Gv0P08v1cD1wMprPkvEIE/cuWRtOOmrVy/U+0Zd0RM4ZEWYCwE8aIs= 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=XtWjUl0r; 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="XtWjUl0r" 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 55G8IfSg022514; Mon, 16 Jun 2025 16:07:11 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=HTcV/GTHirCIHdbLS qr3LUlvn8RXjF12dUqklXWyiKE=; b=XtWjUl0rUDJlQiCic7wYwcoiZRfUviJHB yVY1KlXjcNObWpOBDQeF4CWR29dCJGZ4RVnTSCbZR6qXdGBO6WHJkj6LGmlt7r6G LNbuh/j5TR9wRaxNgv259N/TLSQw6CWqxjnyrRC1J3wZCM7yUANP140ojlloDB/S D72ws14gD93eAnZc0YJKgBwS5xgyK8Tqf658AQXF4v9/Ctp5VX+CBCRMMQLhV/CF 8RVigu7NvlpMDvPD2v/ZcvwFknck8ou7cV/K9pP2oGc+aHdZX1AAu+cvWV8WwV3k gMiNVilOfCPITg9qIMefee9QHNlzFgLpExrB2hg7tvs87KvxMhoVw== Received: from pps.reinject (localhost [127.0.0.1]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 4790s4axm2-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Mon, 16 Jun 2025 16:07:11 +0000 (GMT) Received: from m0353729.ppops.net (m0353729.ppops.net [127.0.0.1]) by pps.reinject (8.18.0.8/8.18.0.8) with ESMTP id 55GFv3An001705; Mon, 16 Jun 2025 16:07:10 GMT Received: from ppma13.dal12v.mail.ibm.com (dd.9e.1632.ip4.static.sl-reverse.com [50.22.158.221]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 4790s4axkx-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Mon, 16 Jun 2025 16:07:10 +0000 (GMT) Received: from pps.filterd (ppma13.dal12v.mail.ibm.com [127.0.0.1]) by ppma13.dal12v.mail.ibm.com (8.18.1.2/8.18.1.2) with ESMTP id 55GDEcE2025763; Mon, 16 Jun 2025 16:07:09 GMT Received: from smtprelay07.fra02v.mail.ibm.com ([9.218.2.229]) by ppma13.dal12v.mail.ibm.com (PPS) with ESMTPS id 479xy5n0nn-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Mon, 16 Jun 2025 16:07:09 +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 55GG75YM53084520 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 16 Jun 2025 16:07:06 GMT Received: from smtpav05.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id D20FF20043; Mon, 16 Jun 2025 16:07:05 +0000 (GMT) Received: from smtpav05.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 0B67220040; Mon, 16 Jun 2025 16:07:00 +0000 (GMT) Received: from li-c18b6acc-24ee-11b2-a85c-81492619bda1.ibm.com.com (unknown [9.43.33.110]) by smtpav05.fra02v.mail.ibm.com (Postfix) with ESMTP; Mon, 16 Jun 2025 16:06:59 +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 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 4/6] mm/selftests: Fix split_huge_page_test failure on systems with 64KB page size Date: Mon, 16 Jun 2025 21:36:30 +0530 Message-ID: <20250616160632.35250-5-aboorvad@linux.ibm.com> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250616160632.35250-1-aboorvad@linux.ibm.com> References: <20250616160632.35250-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-Spam-Details-Enc: AW1haW4tMjUwNjE2MDEwMiBTYWx0ZWRfX7dhMgrcoztq8 VAUyHH/b2nTlwCVpK0BzP3SGBZrmTLJeWLn+c05yjZMMMBW+K0tKHGVkJA/0LE7w8SrNAXX90U+ kxakpQP01uOyEhlhtiYz5x5T59X/yJulV/QiYhd1lUPo1eyTC+dqPyrTs025giJqKByjfatiAOu CB79FGmTeUe/PN4pPQV9F/vW5IH7832DEnr6Qq1+fvyTaS5etYd5Z83vSpTbBf/BOcnyaKEQA6U m36tbjhu0cfR8CzkgrCOmtRR/AvHrJaW1NziX2nbVl5mFaXwsI6S2AfaB7Po152Nu8Dt0+O95iN Sp3LUt87czNMhExTdP8iYWW6AeU4+MxP4dFq5N5mz1aFrOyHlkj4pggffx97ZEaHqWPFwg0gt2w LBnVBj2HESUflNr1IW8d0sP60rtziW41gXPmuXp0tkshHgPdQXvHPmvNss860Oqbfg+dY41s X-Proofpoint-ORIG-GUID: X3VKnlnOrk1z4Z50R-aErujIVFdVNSrn X-Authority-Analysis: v=2.4 cv=Qc9mvtbv c=1 sm=1 tr=0 ts=6850412f cx=c_pps a=AfN7/Ok6k8XGzOShvHwTGQ==:117 a=AfN7/Ok6k8XGzOShvHwTGQ==:17 a=6IFa9wvqVegA:10 a=VnNF1IyMAAAA:8 a=tuUElCKEKN7k3CmPoYkA:9 X-Proofpoint-GUID: s_E1h5Ed_1QzAb0WKlS1LVDaA9tCsvUg X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1099,Hydra:6.0.736,FMLib:17.12.80.40 definitions=2025-06-16_08,2025-06-13_01,2025-03-28_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 malwarescore=0 spamscore=0 impostorscore=0 phishscore=0 mlxscore=0 lowpriorityscore=0 clxscore=1011 adultscore=0 bulkscore=0 mlxlogscore=999 suspectscore=0 classifier=spam authscore=0 authtc=n/a authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2505280000 definitions=main-2506160102 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. Signed-off-by: Donet Tom Signed-off-by: Aboorva Devarajan --- .../selftests/mm/split_huge_page_test.c | 23 +++++++++++++++---- 1 file changed, 18 insertions(+), 5 deletions(-) diff --git a/tools/testing/selftests/mm/split_huge_page_test.c b/tools/test= ing/selftests/mm/split_huge_page_test.c index aa7400ed0e99..16f3e5b9ce6d 100644 --- a/tools/testing/selftests/mm/split_huge_page_test.c +++ b/tools/testing/selftests/mm/split_huge_page_test.c @@ -514,6 +514,15 @@ void split_thp_in_pagecache_to_order_at(size_t fd_size= , const char *fs_loc, } } =20 +static unsigned int get_order(unsigned int pages) +{ + unsigned int order =3D 0; + + while ((1U << order) < pages) + order++; + return order; +} + int main(int argc, char **argv) { int i; @@ -523,6 +532,7 @@ int main(int argc, char **argv) const char *fs_loc; bool created_tmp; int offset; + unsigned int max_order; =20 ksft_print_header(); =20 @@ -534,11 +544,14 @@ 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); =20 pagesize =3D getpagesize(); pageshift =3D ffs(pagesize) - 1; pmd_pagesize =3D read_pmd_pagesize(); + max_order =3D get_order(pmd_pagesize/pagesize); + + ksft_set_plan(1+(max_order-1)+1+max_order+max_order+(max_order-1)*4+2); + if (!pmd_pagesize) ksft_exit_fail_msg("Reading PMD pagesize failed\n"); =20 @@ -546,20 +559,20 @@ int main(int argc, char **argv) =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)) --=20 2.43.5 From nobody Thu Oct 9 20:24:12 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 2F420216E26; Mon, 16 Jun 2025 16:07:41 +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=1750090063; cv=none; b=Z0mkIGIAr6+vVjPeUI7Z/JofAlV5NReVkvl701dqgTx0Tfuf4PjoQMJkHtnvtfI7N0FTRF0NwmsN6UpBNBeTYbl2jL4kU0FDs8lYx7e7usvOOuVmM3R8SYXoDQxzQT40B7rBckpKfH5itAG8506TrlY0X3bmYw8cJZI2yTzwR2k= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1750090063; c=relaxed/simple; bh=6oBImwHMBqQcPTOAg9gxezXSgn0/TxHdW1u/XkdravA=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=I/viA4ik3yuILb29KYu4OzukvjEZDj5LDG3uQixiFb7diAWqFfNA8lpaA47Eq92mX8I6paepKuE5FezY2b5GwSXhGbXBTuaS1sQn2Cn8o3FMRPWQ4MDbH1oeC5dJtYR9zZdTBRVoIbvhunqmjJEjyuJnlwDtkb/paOc62cITauI= 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=j8XE/fBO; 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="j8XE/fBO" 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 55GCW689017455; Mon, 16 Jun 2025 16:07:17 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=nH9dt8z0VyAEMb1Zc zxG+YsmobDeOns6AKcYFv+gtvU=; b=j8XE/fBOXpk7jw+yqg8i3YBFb2XWl+hxC +E65t/IXuliJbfjb6wW8YGLdNizLNPBFjLkZin+N9b1/OHp5jzZhlclJxJZ7890p W6U4SEtv0DJz+cIhdBbXB6Vs0WH+5l6CFxdHstoFr2rlzlXFs1rIbbMZSiIsbLxW JQtgBijzy1hCoKTkS1DMXlvtbqqkduDHTLDAHv1V2PU1OLVIyM/HP2lraPhHJaqX 767c52iTb7+vxAk2IH7E7uKgbnc3Hyio4exX84aFC3b4FkguDLaJu1ycJhcku0+o PCIH+8Bbxejsi1SKq61v4VqC1D+p46YgZWKpUiHva2EdR4fyPnFyQ== Received: from pps.reinject (localhost [127.0.0.1]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 4794qp1x1d-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Mon, 16 Jun 2025 16:07:17 +0000 (GMT) Received: from m0356516.ppops.net (m0356516.ppops.net [127.0.0.1]) by pps.reinject (8.18.0.8/8.18.0.8) with ESMTP id 55GG0BYJ023302; Mon, 16 Jun 2025 16:07:16 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 4794qp1x18-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Mon, 16 Jun 2025 16:07:16 +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 55GEWnwk014115; Mon, 16 Jun 2025 16:07:15 GMT Received: from smtprelay07.fra02v.mail.ibm.com ([9.218.2.229]) by ppma11.dal12v.mail.ibm.com (PPS) with ESMTPS id 479p426hfn-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Mon, 16 Jun 2025 16:07:15 +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 55GG7Csq51249434 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 16 Jun 2025 16:07:12 GMT Received: from smtpav05.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 09DF920040; Mon, 16 Jun 2025 16:07:12 +0000 (GMT) Received: from smtpav05.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 5306E2004B; Mon, 16 Jun 2025 16:07:06 +0000 (GMT) Received: from li-c18b6acc-24ee-11b2-a85c-81492619bda1.ibm.com.com (unknown [9.43.33.110]) by smtpav05.fra02v.mail.ibm.com (Postfix) with ESMTP; Mon, 16 Jun 2025 16:07:06 +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 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 5/6] selftests/mm: Fix child process exit codes in KSM tests Date: Mon, 16 Jun 2025 21:36:31 +0530 Message-ID: <20250616160632.35250-6-aboorvad@linux.ibm.com> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250616160632.35250-1-aboorvad@linux.ibm.com> References: <20250616160632.35250-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: BPObgMJtaOVtje-umRyDLgbspwMrVjKs X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwNjE2MDEwMiBTYWx0ZWRfX6nTrU1NLvTfU 9FjQwT09hi5sewxcscv1y89bMcsvFk/j0JjTaG9sOUlhAtzy/RYw3L0BfUiVWkjQQ3hwdUa4fuU AAhw7zqzqvc4dgNAf8kNaoRuPez4HlDM1OX7icV6eZfX3rAyhnaIcIKVYOic+688JKVGuez0St0 iFfoQiCw+EvflimcUrNEP5UQB3rnEN+yVu2A8k1c4fRgmzE0p/DQDItZ1V6fdv1fW9d3OhkQ8Ps sxsy8rxl4c6bjEhRlVb9rrOMResD07P4cOXBXdNipJVLJRMqPbKvI2g0WdtIJsQtBZsHHdBP2QL jVfvzzzkmWh4D+HS1Wcn/rnzdrwQ/1ioOfG3+CoL91QhHDFoAuSz+Yprj5d0vLSNImKuvHb5joc SeAgkJLEK5qVCZ/POddfguTYTG2QaaH0GPC35CG8x5IdC5IjPDvtyFqpY/X9Kvg+7fcCz6hI X-Authority-Analysis: v=2.4 cv=NYfm13D4 c=1 sm=1 tr=0 ts=68504135 cx=c_pps a=aDMHemPKRhS1OARIsFnwRA==:117 a=aDMHemPKRhS1OARIsFnwRA==:17 a=6IFa9wvqVegA:10 a=VnNF1IyMAAAA:8 a=103AOF-ep-hNQpW6YsQA:9 X-Proofpoint-ORIG-GUID: 84_LTdBoX5QKoTcTK_OS2now3pT3bfQg X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1099,Hydra:6.0.736,FMLib:17.12.80.40 definitions=2025-06-16_08,2025-06-13_01,2025-03-28_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 bulkscore=0 adultscore=0 suspectscore=0 mlxlogscore=999 mlxscore=0 impostorscore=0 phishscore=0 lowpriorityscore=0 clxscore=1015 spamscore=0 priorityscore=1501 malwarescore=0 classifier=spam authscore=0 authtc=n/a authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2505280000 definitions=main-2506160102 Content-Type: text/plain; charset="utf-8" In the KSM functional tests, test_child_ksm() returned negative values to indicate errors. However, when passed to exit(), these were interpreted as large unsigned values (eg, -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. This ensures the parent accurately detects and reports child process failures. 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 Signed-off-by: Aboorva Devarajan --- tools/testing/selftests/mm/ksm_functional_tests.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/tools/testing/selftests/mm/ksm_functional_tests.c b/tools/test= ing/selftests/mm/ksm_functional_tests.c index 6ea50272a0ba..230c21c72f3e 100644 --- a/tools/testing/selftests/mm/ksm_functional_tests.c +++ b/tools/testing/selftests/mm/ksm_functional_tests.c @@ -488,14 +488,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); @@ -504,11 +504,11 @@ 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"); } =20 --=20 2.43.5 From nobody Thu Oct 9 20:24:12 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 A821E216E26; Mon, 16 Jun 2025 16:07:51 +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=1750090073; cv=none; b=ftSMAS46fmoUS/MMf/iU/sxS+iM0gAycWtPb1yFkaKOpg86dhS27Yu/Ml/Z7/ntERAbHQKn1LYlU78Afx71l+ulik5qnKLWDYkhrzvtOm5TuQLt0R0i4OhBRK0WQR5eD3pd4eIi1+KH3amS50ZDMxzamMmP6ZugUW3XbNSwgS90= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1750090073; c=relaxed/simple; bh=em+SN0x1mC+IqmsH8A16eJyQWpa6/HJZkosxlgqRp/I=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=j8bWpC5Tq5VYAUNhFKn7EbYEEjGH+QaZv57x9xvK7GMFla3G0jtxix6U1Y8ZD131mOWC5cvoyqJQzGfMxV6anZx0z701eAPhaYvUU0MvC3c+1iA/ReZ2rR/X5q0yhK9fArNBKTOqcVQMZL4EG+7MfTocVJDgT6ocaeWFit8zsMU= 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=do2b2KRj; 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="do2b2KRj" 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 55GE1un6015418; Mon, 16 Jun 2025 16:07:25 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=972LgufYEMp1H43lu pR25PdynFvVC6p4emQMxZaEsyg=; b=do2b2KRjGv/Slm6ARz4Xb5dNsrHQFZ6sn dAtKcFneef+GVVO4PZVzGhq1UWr6e5N8beuBygUqAfODLDWB0lppOfiiORYksEhu lBgwnfb0RXARnhAqFvd9EhJgNFGm2POZq27atDHCU8nbkHVKQulsn+NuPQegCzgK VvMlmq9z5G614yjJLInVxtc5kBPhl2uBk1SJ6N6UU/Wdq3RHwQCzCVQ1yUVDqdjg L9YuPNcpA6wbyDaKYissrbNAPwEWsTvJiDe5HLPbY/k7wpwbH0mG0Sui5SU97/fV MfS8ZOvHeOkkag+HbdkqtsWkySbmSvUIPgrQZHH6+NtEHAWIFcKTA== Received: from pps.reinject (localhost [127.0.0.1]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 4790ktb17n-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Mon, 16 Jun 2025 16:07:24 +0000 (GMT) Received: from m0360083.ppops.net (m0360083.ppops.net [127.0.0.1]) by pps.reinject (8.18.0.8/8.18.0.8) with ESMTP id 55GG7Lis009511; Mon, 16 Jun 2025 16:07:24 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 4790ktb17e-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Mon, 16 Jun 2025 16:07:24 +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 55GCjXvx000752; Mon, 16 Jun 2025 16:07:22 GMT Received: from smtprelay06.fra02v.mail.ibm.com ([9.218.2.230]) by ppma21.wdc07v.mail.ibm.com (PPS) with ESMTPS id 479mdnxw7w-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Mon, 16 Jun 2025 16:07:22 +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 55GG7IY627198186 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 16 Jun 2025 16:07:18 GMT Received: from smtpav05.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 7BE1B20043; Mon, 16 Jun 2025 16:07:18 +0000 (GMT) Received: from smtpav05.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 9CED520040; Mon, 16 Jun 2025 16:07:12 +0000 (GMT) Received: from li-c18b6acc-24ee-11b2-a85c-81492619bda1.ibm.com.com (unknown [9.43.33.110]) by smtpav05.fra02v.mail.ibm.com (Postfix) with ESMTP; Mon, 16 Jun 2025 16:07:12 +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 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 6/6] selftests/mm: Mark thuge-gen as skipped if shmmax is too small or no 1G pages Date: Mon, 16 Jun 2025 21:36:32 +0530 Message-ID: <20250616160632.35250-7-aboorvad@linux.ibm.com> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250616160632.35250-1-aboorvad@linux.ibm.com> References: <20250616160632.35250-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: iSOFNF05E8fwKEhb6Rcw-TdIR6yvrmMU X-Proofpoint-ORIG-GUID: nTHQStWhUi2UJJGFRutxY286VuQT9UkH X-Authority-Analysis: v=2.4 cv=KaDSsRYD c=1 sm=1 tr=0 ts=6850413c cx=c_pps a=GFwsV6G8L6GxiO2Y/PsHdQ==:117 a=GFwsV6G8L6GxiO2Y/PsHdQ==:17 a=6IFa9wvqVegA:10 a=VnNF1IyMAAAA:8 a=zAPJwtp4Tg_ksFu_fawA:9 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwNjE2MDEwMiBTYWx0ZWRfX9KS4gU9f3qax fUOP5ygceKQs+cFoLkGjIGhNYPQ1AB60e+jKYcc8ZGzGtrBsFHactIsk4k1+rMOCd9RF3gGRNAg GUsy/SRxSf7ys/5cqFJPJtISxQupD6YdCWlXvqymCeamdEtm9FMmn8rdWtpThOIqGVEiUBIUn1i ahG98JwFm702+NND+NA7SX4Atu/nsT9rNGy9pTu+m7UVYoGmG9xwIsv25h7REfBiGmff3nR554K npoBuJLM99k/1WYE9okrY1/0PaByuSdzwKHd7Tpy+vlZEes+xkBz9s9YmDQLgaroAx9EOf3clY1 Uez8R3wwn63hILLXWCzzmr3VgtW2zKA2G0Egnr52Prpcbq4r6YS7WSnY6Osa8VlZ55A0zSeJjfT LhvxJVDLA5Joxe2jmBxWpGeTIFV1tmu4hsG/7je2nzfKFYcMxhkV9L2QYprP9B+dvmovYjmr X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1099,Hydra:6.0.736,FMLib:17.12.80.40 definitions=2025-06-16_08,2025-06-13_01,2025-03-28_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 bulkscore=0 mlxscore=0 spamscore=0 clxscore=1015 malwarescore=0 lowpriorityscore=0 suspectscore=0 impostorscore=0 mlxlogscore=999 adultscore=0 phishscore=0 priorityscore=1501 classifier=spam authscore=0 authtc=n/a authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2505280000 definitions=main-2506160102 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. Before Patch: ------------------- ~ running ./thuge-gen ------------------- ~ TAP version 13 ~ 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 ------------------- ~ TAP version 13 ~ ~ 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 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 95b6f043a3cb..cc302a29d485 100644 --- a/tools/testing/selftests/mm/thuge-gen.c +++ b/tools/testing/selftests/mm/thuge-gen.c @@ -195,13 +195,16 @@ void find_pagesizes(void) } globfree(&g); =20 - if (thuge_read_sysfs(0, "/proc/sys/kernel/shmmax") < NUM_PAGES * largest) - ksft_exit_fail_msg("Please do echo %lu > /proc/sys/kernel/shmmax", - largest * NUM_PAGES); + if (thuge_read_sysfs(0, "/proc/sys/kernel/shmmax") < 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.43.5