From: Lorenzo Stoakes <lorenzo.stoakes@oracle.com>
To: Mark Brown <broonie@kernel.org>
Cc: Andrew Morton <akpm@linux-foundation.org>,
Shuah Khan <shuah@kernel.org>,
David Hildenbrand <david@redhat.com>,
linux-mm@kvack.org, linux-kselftest@vger.kernel.org,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH v2 4/4] selftests/mm: Fix test result reporting in gup_longterm
Date: Thu, 5 Jun 2025 18:09:09 +0100 [thread overview]
Message-ID: <976bbe1a-ef16-4006-acac-8b6be46ee5ea@lucifer.local> (raw)
In-Reply-To: <661fc4ce-839f-4c47-bc3a-0c864e846324@sirena.org.uk>
On Thu, Jun 05, 2025 at 05:42:55PM +0100, Mark Brown wrote:
> On Thu, Jun 05, 2025 at 05:26:05PM +0100, Lorenzo Stoakes wrote:
> > On Thu, Jun 05, 2025 at 05:15:51PM +0100, Mark Brown wrote:
>
> > > That's the thing with memfd being special and skipping on setup failure
> > > that David mentioned, I've got a patch as part of the formatting series
> > > I was going to send after the merge window.
>
> > where did he mention this?
>
> I can't remember off hand, sorry.
>
I see his reply here and I guess it's because you now determine the result at
the top level, I see you are doing this in do_test():
+ int result = KSFT_PASS;
int ret;
+ if (fd < 0) {
+ result = KSFT_FAIL;
+ goto report;
+ }
+
And in run_with_memfd_hugetlb():
fd = memfd_create("test", flags);
if (fd < 0) {
- ksft_test_result_skip("memfd_create() failed (%s)\n", strerror(errno));
- return;
+ ksft_print_msg("memfd_create() failed (%s)\n", strerror(errno));
}
So previously this would skip, now it fails.
I've not double, triple checked this is it, but seems likely!
You said you had a fix
> > I mean I'd argue that making a test that previously worked now fail due to how
> > somebody's set up their system is a reason not to merge that patch.
>
> Well, it's a bit late now given that this is in Linus' tree and actually
> it turns out this was the only update for gup_longterm so I just rebased
> it onto Linus' tree and kicked off my tests.
Ack.
>
> > Better to do all of these formating fixes and maintain the _same behaviour_ then
> > separately tackle whether or not we should skip.
>
> I'm confused, that's generally the opposite of the standard advice for
> the kernel - usually it's fixes first, then deal with anything cosmetic
> or new?
I mean the crux is that the 'cosmetic' changes also included a 'this might
break things' change.
I'm saying do the cosmetic things in _isolation_, or fix the brokenness
before doing the whole lot.
Anyway there's no point dwelling on this, let's just get a fix sorted.
>
> > Obviously the better option would be to somehow determine if hugetlb is
> > available in advance (of course, theoretically somebody could come in and
> > reserve pages but that's not veyr likely).
>
> The tests do enumerate the set of available hugepage sizes at runtime
> (see the loop in run_test_case()) but detect_hugetlb_page_sizes() just
> looks in /sys/kernel/mm/hugepages/ for subdirectories and doesn't look
> inside those directories to see if there are actually any huge pages
> available for the huge page sizes advertised. There's probably utility
> in at least a version of that function that checks.
Right yes, I mean obviously this whole thing is a mess already that's not
your fault, and ideally we'd have some general way of looking this up
across _all_ tests and just switch things on/off accordingly.
There's a whole Pandora's box about what the tests should assume/not and
yeah. Anyway. Maybe leave it closed for now :)
Cheers, Lorenzo
next prev parent reply other threads:[~2025-06-05 17:09 UTC|newest]
Thread overview: 35+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-05-27 16:04 [PATCH v2 0/4] selftests/mm: cow and gup_longterm cleanups Mark Brown
2025-05-27 16:04 ` [PATCH v2 1/4] selftests/mm: Use standard ksft_finished() in cow and gup_longterm Mark Brown
2025-05-27 16:04 ` [PATCH v2 2/4] selftests/mm: Add helper for logging test start and results Mark Brown
2025-06-03 12:37 ` David Hildenbrand
2025-06-03 18:27 ` Mark Brown
2025-06-03 20:18 ` David Hildenbrand
2025-05-27 16:04 ` [PATCH v2 3/4] selftests/mm: Report unique test names for each cow test Mark Brown
2025-06-03 12:51 ` David Hildenbrand
2025-06-03 13:21 ` Mark Brown
2025-06-03 14:15 ` David Hildenbrand
2025-06-03 14:58 ` Mark Brown
2025-06-03 15:06 ` David Hildenbrand
2025-06-03 15:22 ` Mark Brown
2025-06-03 16:57 ` David Hildenbrand
2025-06-03 17:48 ` Mark Brown
2025-06-03 17:55 ` Mark Brown
2025-06-03 20:21 ` David Hildenbrand
2025-05-27 16:04 ` [PATCH v2 4/4] selftests/mm: Fix test result reporting in gup_longterm Mark Brown
2025-06-03 12:36 ` David Hildenbrand
2025-06-03 13:05 ` Mark Brown
2025-06-05 16:00 ` Lorenzo Stoakes
2025-06-05 16:15 ` Mark Brown
2025-06-05 16:26 ` Lorenzo Stoakes
2025-06-05 16:42 ` Mark Brown
2025-06-05 16:55 ` David Hildenbrand
2025-06-05 17:19 ` Mark Brown
2025-06-05 17:34 ` David Hildenbrand
2025-06-05 18:24 ` Mark Brown
2025-06-05 17:09 ` Lorenzo Stoakes [this message]
2025-06-05 17:38 ` Mark Brown
2025-06-05 17:47 ` Lorenzo Stoakes
2025-06-05 18:29 ` Mark Brown
2025-06-05 18:35 ` Lorenzo Stoakes
2025-06-05 16:48 ` David Hildenbrand
2025-06-05 20:32 ` Andrew Morton
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=976bbe1a-ef16-4006-acac-8b6be46ee5ea@lucifer.local \
--to=lorenzo.stoakes@oracle.com \
--cc=akpm@linux-foundation.org \
--cc=broonie@kernel.org \
--cc=david@redhat.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-kselftest@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=shuah@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®