mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Sarthak Sharma <sarthak.sharma@arm.com>
To: "David Hildenbrand (Arm)" <david@kernel.org>,
	Jaeyeon Lee <jaeyeon.lee.dev@gmail.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	Guillaume Morin <guillaume@morinfr.org>
Cc: Lorenzo Stoakes <ljs@kernel.org>,
	"Liam R. Howlett" <liam@infradead.org>,
	Vlastimil Babka <vbabka@kernel.org>,
	Mike Rapoport <rppt@kernel.org>,
	Suren Baghdasaryan <surenb@google.com>,
	Michal Hocko <mhocko@suse.com>, Shuah Khan <shuah@kernel.org>,
	Breno Leitao <leitao@debian.org>,
	linux-mm@kvack.org, linux-kselftest@vger.kernel.org,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH v2] selftests/mm: hugetlb_madv_vs_map: fix TAP plan mismatches
Date: Wed, 7 Oct 2026 17:31:39 +0530	[thread overview]
Message-ID: <ce49e816-ae77-4c64-bd28-168d8ca52d8d@arm.com> (raw)
In-Reply-To: <022ec915-62ab-40d9-8705-90692e75acfb@kernel.org>



On 10/7/26 3:46 PM, David Hildenbrand (Arm) wrote:
> On 10/7/26 11:28, Jaeyeon Lee wrote:
>> The plan was raised from 1 to 3, but the HugeTLB setup check that may
>> call ksft_exit_skip() still runs after ksft_set_plan(), so a setup
>> failure reports one result against a plan of 3. Move ksft_set_plan()
>> below the setup check.
>>
>> Also, when the underflow check fails, or munmap() fails,
>> test_underflow() jumps to err_cleanup and exits without reporting the
>> remaining results. Report the munmap() failure as a test result and
>> skip the final HugePages_Rsvd check in err_cleanup, so these failure
>> paths report all 3 planned results.
>>
>> Fixes: 827149aad495 ("selftests/mm: hugetlb_madv_vs_map: add underflow test")
>> Assisted-by: LLM
>> Signed-off-by: Jaeyeon Lee <jaeyeon.lee.dev@gmail.com>
>> ---
>> Changes in v2:
>> - Drop the duplicate ksft_perror() and report errno in
>>   ksft_test_result_fail() (Sarthak Sharma).
>>
>>  tools/testing/selftests/mm/hugetlb_madv_vs_map.c | 6 ++++--
>>  1 file changed, 4 insertions(+), 2 deletions(-)
>>
>> diff --git a/tools/testing/selftests/mm/hugetlb_madv_vs_map.c b/tools/testing/selftests/mm/hugetlb_madv_vs_map.c
>> index 1d111f42dd59..0f6afb834dbf 100644
>> --- a/tools/testing/selftests/mm/hugetlb_madv_vs_map.c
>> +++ b/tools/testing/selftests/mm/hugetlb_madv_vs_map.c
>> @@ -168,7 +168,7 @@ void test_underflow(void)
>>  
>>  	/* First unmap, this will close the vma */
>>  	if (munmap(huge_ptr, mmap_size) != 0) {
>> -		ksft_perror("munmap failed");
>> +		ksft_test_result_fail("munmap failed: %s (%d)\n", strerror(errno), errno);
>>  		goto err_cleanup;
>>  	}
>>  
>> @@ -203,18 +203,20 @@ void test_underflow(void)
>>  	if (waitpid(pid, NULL, 0) <= 0)
>>  		ksft_exit_fail_perror("waitpid failed");
>>  
>> +	ksft_test_result_skip("HugePages_Rsvd check after child exit\n");
>>  	ksft_exit_fail();
> 
> That looks odd. SKIP + fail on the same path?

Seemed odd to me too when I read it. But it seems like one function
contains 2 tests:

i) Check resv_hugepages when parent unmaps the VMA and child is holding
the hugetlb page

ii) Check resv_hugepages when child exits

So we're skipping the third test if the munmap fails or the second test
fails. Skipping incase of munmap failure makes sense but I'm not sure
about the case when the second test fails, ig this could still run in
that case.

Anyways, the original code also calls a ksft_exit_fail() in err_cleanup,
so this skip is just preserving the TAP test count, else we'll get that
planned tests != run tests message.

  reply	other threads:[~2026-10-07 12:01 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-10-07  9:28 Jaeyeon Lee
2026-10-07 10:16 ` David Hildenbrand (Arm)
2026-10-07 12:01   ` Sarthak Sharma [this message]
2026-10-07 15:36     ` Jaeyeon Lee

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=ce49e816-ae77-4c64-bd28-168d8ca52d8d@arm.com \
    --to=sarthak.sharma@arm.com \
    --cc=akpm@linux-foundation.org \
    --cc=david@kernel.org \
    --cc=guillaume@morinfr.org \
    --cc=jaeyeon.lee.dev@gmail.com \
    --cc=leitao@debian.org \
    --cc=liam@infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-kselftest@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=ljs@kernel.org \
    --cc=mhocko@suse.com \
    --cc=rppt@kernel.org \
    --cc=shuah@kernel.org \
    --cc=surenb@google.com \
    --cc=vbabka@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®