mirror of
https://github.com/torvalds/linux.git
synced 2026-07-28 01:55:51 +02:00
selftests/mm: restore default nr_hugepages value via exit trap in hugetlb_reparenting_test.sh
The test modifies nr_hugepages during execution and restores it from
cleanup() and again reconfigure it setup, which is invoked multiple times
across test flow. This can lead to repeated allocation/freeing of
hugepages.
With set -e, failures in cleanup (e.g., rmdir/umount) can also cause early
exit before restoring the original value at the end.
Move restoration of the original nr_hugepages value to a trap handler
registered for EXIT, INT, and TERM signals so it is always restored on all
exit paths. This also avoids unnecessary allocation churn across repeated
cleanup/setup cycles.
Link: https://lore.kernel.org/29db637c3c6ba6c168f6b33f59f059a0b39c35c8.1779296493.git.sayalip@linux.ibm.com
Fixes: 585a914588 ("selftests/mm: restore default nr_hugepages value during cleanup in hugetlb_reparenting_test.sh")
Signed-off-by: Sayali Patil <sayalip@linux.ibm.com>
Acked-by: Zi Yan <ziy@nvidia.com>
Tested-by: Venkat Rao Bagalkote <venkat88@linux.ibm.com>
Cc: David Hildenbrand (Arm) <david@kernel.org>
Cc: Dev Jain <dev.jain@arm.com>
Cc: Liam Howlett <liam.howlett@oracle.com>
Cc: Miaohe Lin <linmiaohe@huawei.com>
Cc: Michal Hocko <mhocko@kernel.org>
Cc: Oscar Salvador <osalvador@suse.de>
Cc: "Ritesh Harjani (IBM)" <ritesh.list@gmail.com>
Cc: Shuah Khan <shuah@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
This commit is contained in:
parent
404c04e010
commit
7f9c0920ff
|
|
@ -12,6 +12,8 @@ if [[ $(id -u) -ne 0 ]]; then
|
|||
fi
|
||||
|
||||
nr_hugepgs=$(cat /proc/sys/vm/nr_hugepages)
|
||||
trap 'echo "$nr_hugepgs" > /proc/sys/vm/nr_hugepages' EXIT INT TERM
|
||||
|
||||
usage_file=usage_in_bytes
|
||||
|
||||
if [[ "$1" == "-cgroup-v2" ]]; then
|
||||
|
|
@ -56,7 +58,6 @@ function cleanup() {
|
|||
rmdir "$CGROUP_ROOT"/a/b 2>/dev/null
|
||||
rmdir "$CGROUP_ROOT"/a 2>/dev/null
|
||||
rmdir "$CGROUP_ROOT"/test1 2>/dev/null
|
||||
echo $nr_hugepgs >/proc/sys/vm/nr_hugepages
|
||||
set -e
|
||||
}
|
||||
|
||||
|
|
@ -240,4 +241,3 @@ if [[ $do_umount ]]; then
|
|||
rm -rf $CGROUP_ROOT
|
||||
fi
|
||||
|
||||
echo "$nr_hugepgs" > /proc/sys/vm/nr_hugepages
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user