linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v3 0/3] selftests/mm: hugetlb cgroup charging: robustness fixes
@ 2025-12-21 12:26 Li Wang
  2025-12-21 12:26 ` [PATCH v3 1/3] selftests/mm/write_to_hugetlbfs: parse -s as size_t Li Wang
                   ` (2 more replies)
  0 siblings, 3 replies; 21+ messages in thread
From: Li Wang @ 2025-12-21 12:26 UTC (permalink / raw)
  To: akpm, linux-kselftest, linux-kernel, linux-mm

Changes in v3:
  - 1/3: no changes.
  - 2/3: reorder with 3/3, and drop the 'size=' mount args.
  - 3/3: add $path check, improve varible declaration, sleep 1s for 60 tryies.

Changes in v2:
  - 1/3: Parse -s using sscanf("%zu", ...) instead of strtoull().
  - 2/3: Fix typo in charge_reserved_hugetlb.sh ("reseravation" -> "reservation").
  - 3/3: No changes.

This series fixes a few issues in the hugetlb cgroup charging selftests
(write_to_hugetlbfs.c + charge_reserved_hugetlb.sh) that show up on systems
with large hugepages (e.g. 512MB) and when failures cause the test to wait
indefinitely.

On an aarch64 64k page kernel with 512MB hugepages, the test consistently
fails in write_to_hugetlbfs with ENOMEM and then hangs waiting for the
expected usage values. The root cause is that charge_reserved_hugetlb.sh
mounts hugetlbfs with a fixed size=256M, which is smaller than a single
hugepage, resulting in a mount with size=0 capacity.

In addition, write_to_hugetlbfs previously parsed -s via atoi() into an
int, which can overflow and print negative sizes.

Reproducer / environment:
  - Kernel: 6.12.0-xxx.el10.aarch64+64k
  - Hugepagesize: 524288 kB (512MB)
  - ./charge_reserved_hugetlb.sh -cgroup-v2
  - Observed mount: pagesize=512M,size=0 before this series

After applying the series, the test completes successfully on the above setup.

Li Wang (3):
  selftests/mm/write_to_hugetlbfs: parse -s as size_t
  selftests/mm/charge_reserved_hugetlb: drop mount size for hugetlbfs
  selftests/mm/charge_reserved_hugetlb.sh: add waits with timeout helper

 .../selftests/mm/charge_reserved_hugetlb.sh   | 55 +++++++++++--------
 .../testing/selftests/mm/write_to_hugetlbfs.c |  9 ++-
 2 files changed, 38 insertions(+), 26 deletions(-)

-- 
2.49.0



^ permalink raw reply	[flat|nested] 21+ messages in thread

end of thread, other threads:[~2025-12-23 12:11 UTC | newest]

Thread overview: 21+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2025-12-21 12:26 [PATCH v3 0/3] selftests/mm: hugetlb cgroup charging: robustness fixes Li Wang
2025-12-21 12:26 ` [PATCH v3 1/3] selftests/mm/write_to_hugetlbfs: parse -s as size_t Li Wang
2025-12-21 20:23   ` Waiman Long
2025-12-21 22:10   ` David Laight
2025-12-22  1:45     ` Li Wang
2025-12-22  9:48       ` David Laight
2025-12-22 10:56         ` Li Wang
2025-12-23  2:05           ` Andrew Morton
2025-12-23  2:41             ` Li Wang
2025-12-23  8:40               ` David Laight
2025-12-23  9:29                 ` Li Wang
2025-12-23 12:11                   ` David Laight
2025-12-21 12:26 ` [PATCH v3 2/3] selftests/mm/charge_reserved_hugetlb: drop mount size for hugetlbfs Li Wang
2025-12-21 20:24   ` Waiman Long
2025-12-22 10:01   ` David Hildenbrand (Red Hat)
2025-12-22 19:08     ` Andrew Morton
2025-12-21 12:26 ` [PATCH v3 3/3] selftests/mm/charge_reserved_hugetlb.sh: add waits with timeout helper Li Wang
2025-12-21 20:30   ` Waiman Long
2025-12-22  0:56     ` Li Wang
2025-12-22  3:54       ` Waiman Long
2025-12-22 10:06   ` David Hildenbrand (Red Hat)

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox