From nobody Tue Apr 7 18:01:52 2026 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 2875F14EC73; Thu, 12 Mar 2026 12:26:35 +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=1773318397; cv=none; b=R3wbWIIvtBAX2yrUIQsoBLXPJgi2EGtQg18G/M6BmXH6UCitkIRBX4wTJbZLp7Hy+TtxN+FG2Bvjs6OowhhD5uK230izgt+EJ5W3TMC1vJ5MIuqEMZVQjIbsFRsaGAVs71zbCE4IuujRFImN82kHwXG/oX2TmF7TTc6PTPjBGc0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773318397; c=relaxed/simple; bh=OryaizYYU5XZOpX7y5406tgCoJZwA8NbT90u5y/Ezco=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=hkI7d/HqMp4/RsfifvjmR/wTGDK/kp7uaMa0WxCTvsoWes/2LcxpSYm2f3riV7DjK0TF+H3VsE/8p/+vR1j+QqHUudorgBw0xGPbAEhm+d1MHVrKQjftVEMdHWwywTkN6Rs3Wr19Vhh1gZYrxJibu4FyO1s13o/bJ7kae7UNCg8= 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=W6RaLG/R; 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="W6RaLG/R" Received: from pps.filterd (m0356517.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 62BMWUE82258884; Thu, 12 Mar 2026 12:26:19 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=AD4YswwSBlyZM8CT/ 6+uVVUNsQJ3n0kUdUVDGfHBlNM=; b=W6RaLG/Rx2Luyki6zAwxj6QKMY6zEMVwq 7adaTRmsZCVHnBF7j6iYDCDFXbesd2PbWiTTO4ALbUMoV+RDFXXX1D7GSpI16Rlm XeNjGtci3tKQ4MTXejPE4sNHAOAJC7ksauu0CUOla8Y2tD/1LOA+OEya6kPVUtFJ e3HrSKavJSxY6+t7TuNO+lZnyioWWCMLDzfgsuANIyi01Z59r0TVTyWNW7AvHe6Q JZ8i+D2EDTqy3ylXp5B1BYZRt3WIGRw4AKhTRpxSre33lYnpQWXQeJouqQUGmIqH 1h7WN9idnnRR1PgYwPpepSKIJu91Ii9mhJ+htBHH4CDCMWjXufpDw== 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 4cuh92akyc-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Thu, 12 Mar 2026 12:26:18 +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 62C9WIpN021245; Thu, 12 Mar 2026 12:26:17 GMT Received: from smtprelay04.fra02v.mail.ibm.com ([9.218.2.228]) by ppma23.wdc07v.mail.ibm.com (PPS) with ESMTPS id 4cuha9j8t8-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Thu, 12 Mar 2026 12:26:17 +0000 Received: from smtpav03.fra02v.mail.ibm.com (smtpav03.fra02v.mail.ibm.com [10.20.54.102]) by smtprelay04.fra02v.mail.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id 62CCQFBa31392302 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 12 Mar 2026 12:26:15 GMT Received: from smtpav03.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 8BBD62004E; Thu, 12 Mar 2026 12:26:15 +0000 (GMT) Received: from smtpav03.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 590812004D; Thu, 12 Mar 2026 12:26:12 +0000 (GMT) Received: from li-3f69264c-2ce6-11b2-a85c-c3f414d24014.in.ibm.com (unknown [9.109.243.201]) by smtpav03.fra02v.mail.ibm.com (Postfix) with ESMTP; Thu, 12 Mar 2026 12:26:12 +0000 (GMT) From: Sayali Patil To: Andrew Morton , Shuah Khan , linux-mm@kvack.org, linux-kernel@vger.kernel.org, linux-kselftest@vger.kernel.org, Ritesh Harjani Cc: David Hildenbrand , Zi Yan , Michal Hocko , Oscar Salvador , Lorenzo Stoakes , Dev Jain , Liam.Howlett@oracle.com, linuxppc-dev@lists.ozlabs.org, Sayali Patil Subject: [PATCH v2 04/13] selftest/mm: fix cgroup task placement and tolerance in hugetlb_reparenting_test.sh Date: Thu, 12 Mar 2026 17:55:31 +0530 Message-ID: <3b5b4275fed509e13567bba7471a9130bbfa6841.1773305677.git.sayalip@linux.ibm.com> X-Mailer: git-send-email 2.52.0 In-Reply-To: References: 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-Reinject: loops=2 maxloops=12 X-Proofpoint-ORIG-GUID: ro5ADnmVeDd4DKT-m1CZS_3GlNFzwHim X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMzEyMDA5NSBTYWx0ZWRfXzVTbF9ADPPvl zRrPM0u0Tg+6kTAbg9VcdSYJOkBaEVgbCh5eFc17p2Uz0rUbh1+twHfF0kINCYfxHfIA7rCdDed LKKmt9nsg1bZ82YBRsnZt3q8J9FKkMQNcxgrW7tPz7gr0MROZZSz1SDN8T7sxxxWb37enhcRkea 9OdNknKYtfyVK1+WEATO/W2Fq7Ok6tpccwWZk/BBFIcaRuih2oCt1wiWAFfaH6k84+kpHTIJ4di O32GL1rJ4gvS+hNpnkGX1502IfWeFtm0V1hDFcEFsdmfRwO0CdOCjYepI5D2Zq5xYzUEazZtX+M b97cZzTN1w0ojjNc2PYMJYgR+TjtdsCPXicODcHjNJ1szgNuxewq7WDwB50L65+kAmimfgJZ0By EDhfeqfPyyCzSvvr8lKT904IOTiwp/3Yp0dOdROCWJJgxN4mFyGul3AQzOeliGatZMBBW3dpVPN euBSF6rr5B8dSiTHh0w== X-Proofpoint-GUID: Z1Ci5jts4s5HrO4nDHlWVmCOzcTFcI99 X-Authority-Analysis: v=2.4 cv=XNk9iAhE c=1 sm=1 tr=0 ts=69b2b0eb cx=c_pps a=3Bg1Hr4SwmMryq2xdFQyZA==:117 a=3Bg1Hr4SwmMryq2xdFQyZA==:17 a=Yq5XynenixoA:10 a=VkNPw1HP01LnGYTKEx00:22 a=RnoormkPH1_aCDwRdu11:22 a=U7nrCbtTmkRpXpFmAIza:22 a=VnNF1IyMAAAA:8 a=xMJXvFkxX-leA7mnJxkA:9 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-03-12_01,2026-03-09_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 suspectscore=0 spamscore=0 clxscore=1015 lowpriorityscore=0 adultscore=0 bulkscore=0 phishscore=0 priorityscore=1501 impostorscore=0 malwarescore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2603050001 definitions=main-2603120095 Content-Type: text/plain; charset="utf-8" Launch write_to_hugetlbfs as a separate process and move only its PID into the target cgroup before waiting for completion. This avoids moving the test shell itself, prevents unintended charging to the shell, and ensures hugetlb and memcg accounting is attributed only to the intended workload. Add a short delay before the hugetlb allocation to avoid a race where memory may be charged before the task migration takes effect, which can lead to incorrect accounting and intermittent test failures. Also increase the assert_with_retry() tolerance from 7MB to 8MB. With MEMCG_CHARGE_BATCH=3D64U and a 64K base page size, per-CPU batching can result in up to 8MB of temporary charge being attributed to the parent. The previous 7MB threshold could be exceeded, causing false failures; raise the limit to cover the maximum expected batched charge. Fixes: 29750f71a9b4 ("hugetlb_cgroup: add hugetlb_cgroup reservation tests") Signed-off-by: Sayali Patil --- .../selftests/mm/hugetlb_reparenting_test.sh | 17 ++++++++--------- tools/testing/selftests/mm/write_to_hugetlbfs.c | 5 ++++- 2 files changed, 12 insertions(+), 10 deletions(-) diff --git a/tools/testing/selftests/mm/hugetlb_reparenting_test.sh b/tools= /testing/selftests/mm/hugetlb_reparenting_test.sh index 073a71fa36b4..9c79ad69e4c6 100755 --- a/tools/testing/selftests/mm/hugetlb_reparenting_test.sh +++ b/tools/testing/selftests/mm/hugetlb_reparenting_test.sh @@ -70,7 +70,7 @@ function cleanup() { function assert_with_retry() { local actual_path=3D"$1" local expected=3D"$2" - local tolerance=3D$((7 * 1024 * 1024)) + local tolerance=3D$((8 * 1024 * 1024)) local timeout=3D20 local interval=3D1 local start_time @@ -153,18 +153,17 @@ write_hugetlbfs() { local size=3D"$3" =20 if [[ $cgroup2 ]]; then - echo $$ >$CGROUP_ROOT/$cgroup/cgroup.procs + cg_file=3D"$CGROUP_ROOT/$cgroup/cgroup.procs" else echo 0 >$CGROUP_ROOT/$cgroup/cpuset.mems echo 0 >$CGROUP_ROOT/$cgroup/cpuset.cpus - echo $$ >"$CGROUP_ROOT/$cgroup/tasks" - fi - ./write_to_hugetlbfs -p "$path" -s "$size" -m 0 -o - if [[ $cgroup2 ]]; then - echo $$ >$CGROUP_ROOT/cgroup.procs - else - echo $$ >"$CGROUP_ROOT/tasks" + cg_file=3D"$CGROUP_ROOT/$cgroup/tasks" fi + + # Spawn write_to_hugetlbfs in a separate task to ensure correct cgroup a= ccounting + ./write_to_hugetlbfs -p "$path" -s "$size" -m 0 -o -d & pid=3D$! + echo "$pid" > "$cg_file" + wait "$pid" echo } =20 diff --git a/tools/testing/selftests/mm/write_to_hugetlbfs.c b/tools/testin= g/selftests/mm/write_to_hugetlbfs.c index ecb5f7619960..6b01b0485bd0 100644 --- a/tools/testing/selftests/mm/write_to_hugetlbfs.c +++ b/tools/testing/selftests/mm/write_to_hugetlbfs.c @@ -83,7 +83,7 @@ int main(int argc, char **argv) setvbuf(stdout, NULL, _IONBF, 0); self =3D argv[0]; =20 - while ((c =3D getopt(argc, argv, "s:p:m:owlrn")) !=3D -1) { + while ((c =3D getopt(argc, argv, "s:p:m:owlrnd")) !=3D -1) { switch (c) { case 's': if (sscanf(optarg, "%zu", &size) !=3D 1) { @@ -118,6 +118,9 @@ int main(int argc, char **argv) case 'n': reserve =3D 0; break; + case 'd': + sleep(1); + break; default: errno =3D EINVAL; perror("Invalid arg"); --=20 2.52.0