[LTP] [PATCH v2 02/13] thp: ensure THP/hugetlbfs is available

Punit Agrawal punit.agrawal@arm.com
Wed Nov 29 14:29:41 CET 2017


Cyril Hrubis <chrubis@suse.cz> writes:

> Hi!
>> > I do not get what is the problem with this test on a machine without
>> > hugepages or transparent hugepages. The test just tries to execute true
>> > with excessively large array of command line arguments, if that fails
>> > without hugepages it's a kernel bug.
>> 
>> The test passes even if THP is not enabled on the test kernel. This
>> gives the false impression that THP is working as expected.
>> 
>> The explicit check is making sure the functionality under test is is
>> enabled in the test kernel.
>
> I see where that came from, but I do not think that the test name is a
> reason to disable this stress test. However I'm not sure if there is a
> better name for the test. I guess that we may possibly move it to the
> cve directory.
>

So you're saying the test should run irrespective of whether THP is
enabled or not in the kernel. I'll drop the thp01.c hunk from this patch
then.

>> >> diff --git a/testcases/kernel/mem/thp/thp02.c b/testcases/kernel/mem/thp/thp02.c
>> >> index acc70e215..6502210e5 100644
>> >> --- a/testcases/kernel/mem/thp/thp02.c
>> >> +++ b/testcases/kernel/mem/thp/thp02.c
>> >> @@ -90,6 +90,8 @@ static void setup(void)
>> >>  	if (access(PATH_THP, F_OK) == -1)
>> >>  		tst_brk(TCONF, "THP not enabled in kernel?");
>> >>  
>> >> +	check_hugepage();
>> >> +
>> >>  	ps = sysconf(_SC_PAGESIZE);
>> >>  	hps = SAFE_READ_MEMINFO("Hugepagesize:") * 1024;
>> >>  	size = hps * 4;
>> >> diff --git a/testcases/kernel/mem/thp/thp03.c b/testcases/kernel/mem/thp/thp03.c
>> >> index 19db44944..c6062505f 100644
>> >> --- a/testcases/kernel/mem/thp/thp03.c
>> >> +++ b/testcases/kernel/mem/thp/thp03.c
>> >> @@ -82,6 +82,8 @@ static void setup(void)
>> >>  	if (access(PATH_THP, F_OK) == -1)
>> >>  		tst_brk(TCONF, "THP not enabled in kernel?");
>> >>  
>> >> +	check_hugepage();
>> >> +
>> >>  	hugepage_size = SAFE_READ_MEMINFO("Hugepagesize:") * KB;
>> >>  	unaligned_size = hugepage_size * 4 - 1;
>> >>  	page_size = SAFE_SYSCONF(_SC_PAGESIZE);
>> >
>> > Does this two fail on an attempt to find "Hugepagesize:" in meminfo
>> > file? Otherwise I do not see how they can fail.
>> 
>> Yes, "Hugepagesize:" goes missing in /proc/meminfo. When the kernel
>> doesn't have hugepage support enabled, the tests fail with message like
>> -
>> 
>> safe_file_ops.c:220: BROK: Expected 1 conversions got 0 at thp03.c:85
>> 
>> With the patch, the message helps identify the cause of the failure.
>
> That's fine. Can you plese include this description in the commit
> message as well?

Done for the next version.

Thanks for the review.


More information about the ltp mailing list