[LTP] [PATCH] hugemmap32: guarantee enough memory for gigantic hugepage
Martin Doucha
mdoucha@suse.cz
Thu May 11 13:04:16 CEST 2023
Hi,
On 08. 05. 23 15:49, Li Wang wrote:
> To get rid of warning on ppc64le:
>
> hugemmap32.c:34: TWARN: Failed to close FILE
> '/sys/kernel/mm/hugepages/hugepages-16777216kB/nr_hugepages'
> hugemmap32.c:35: TCONF: Can't update the gigantic hugepages.
> hugemmap32.c:69: TWARN: Failed to close FILE
> '/sys/kernel/mm/hugepages/hugepages-16777216kB/nr_hugepages': EINVAL (22)
>
> # ll /sys/kernel/mm/hugepages/
> total 0
> drwxr-xr-x. 2 root root 0 May 4 02:02 hugepages-16384kB
> drwxr-xr-x. 2 root root 0 May 4 02:02 hugepages-16777216kB
>
> # cat /proc/meminfo | grep -i Hugepagesize
> Hugepagesize: 16384 kB
>
> # free -h
> total used free shared buff/cache available
> Mem: 7.4Gi 1.1Gi 992Mi 13Mi 5.9Gi 6.3Gi
> Swap: 4.0Gi 0B 4.0Gi
>
> Signed-off-by: Li Wang <liwang@redhat.com>
> ---
> testcases/kernel/mem/hugetlb/hugemmap/hugemmap32.c | 6 ++++++
> 1 file changed, 6 insertions(+)
>
> diff --git a/testcases/kernel/mem/hugetlb/hugemmap/hugemmap32.c b/testcases/kernel/mem/hugetlb/hugemmap/hugemmap32.c
> index 34b322bfa..7ff23b236 100644
> --- a/testcases/kernel/mem/hugetlb/hugemmap/hugemmap32.c
> +++ b/testcases/kernel/mem/hugetlb/hugemmap/hugemmap32.c
> @@ -60,6 +60,12 @@ static void setup(void)
> tst_brk(TCONF, "Gigantic hugepages not supported");
>
> SAFE_CLOSEDIR(dir);
> +
> + if (tst_available_mem() < (long long)hpage_size) {
> + g_hpage_path[0] = '\0';
> + tst_brk(TCONF, "No enough memory for gigantic hugepage reserving");
> + }
> +
> SAFE_FILE_LINES_SCANF(g_hpage_path, "%d", &org_g_hpages);
> }
I also recommend calling
SAFE_FILE_PRINTF("/proc/sys/vm/drop_caches", "3");
It doesn't whether you do it before or after tst_available_mem() since
caches count as available.
--
Martin Doucha mdoucha@suse.cz
QA Engineer for Software Maintenance
SUSE LINUX, s.r.o.
CORSO IIa
Krizikova 148/34
186 00 Prague 8
Czech Republic
More information about the ltp
mailing list