From: Shuah Khan <skhan@linuxfoundation.org>
To: Vlastimil Babka <vbabka@suse.cz>,
David Hildenbrand <david@redhat.com>,
Alex Sierra <alex.sierra@amd.com>,
Alistair Popple <apopple@nvidia.com>
Cc: Jason Gunthorpe <jgg@nvidia.com>,
Ralph Campbell <rcampbell@nvidia.com>,
Felix Kuehling <Felix.Kuehling@amd.com>,
Christoph Hellwig <hch@lst.de>,
Jerome Glisse <jglisse@redhat.com>,
"linux-mm@kvack.org" <linux-mm@kvack.org>,
"open list:KERNEL SELFTEST FRAMEWORK"
<linux-kselftest@vger.kernel.org>, Shuah Khan <shuah@kernel.org>,
Shuah Khan <skhan@linuxfoundation.org>
Subject: Re: hmm_test issues with latest mainline
Date: Thu, 13 Oct 2022 11:29:45 -0600 [thread overview]
Message-ID: <479aec54-fa65-2031-e891-332af275e067@linuxfoundation.org> (raw)
In-Reply-To: <04114304-7b35-d42f-0155-087e3b6237c6@suse.cz>
On 10/13/22 11:12, Vlastimil Babka wrote:
> On 10/13/22 19:10, Shuah Khan wrote:
>> On 10/13/22 11:01, David Hildenbrand wrote:
>>> On 13.10.22 18:54, Vlastimil Babka wrote:
>>>> Hi,
>>>>
>>>> I've been trying the hmm_tests as of today's commit:
>>>>
>>>> a185a0995518 ("Merge tag 'linux-kselftest-kunit-6.1-rc1-2' ...)
>>>>
>>>> and run into several issues that seemed worth reporting.
>>>>
>>>> First, it seems the FIXTURE_TEARDOWN(hmm) in
>>>> tools/testing/selftests/vm/hmm-tests.c
>>>> using ASSERT_EQ(ret, 0); can run into an infinite loop of reporting the
>>>> assertion failure. Dunno if it's a kselftests issue or it's a bug to
>>>> use asserts in teardown. I hacked it up like this locally to proceed:
>>>>
>>>> --- a/tools/testing/selftests/vm/hmm-tests.c
>>>> +++ b/tools/testing/selftests/vm/hmm-tests.c
>>>> @@ -154,6 +154,11 @@ FIXTURE_TEARDOWN(hmm)
>>>> {
>>>> int ret = close(self->fd);
>>>> + if (ret != 0) {
>>>> + fprintf(stderr, "close returned (%d) fd is (%d)\n", ret,self->fd);
>>>> + exit(1);
>>>> + }
>>>> +
>>>> ASSERT_EQ(ret, 0);
>>>> self->fd = -1;
>>>> }
>>>>
>>>> Next, there are some tests that fail (and thus also trigger the issue above)
>>>>
>>>> # RUN hmm.hmm_device_private.exclusive ...
>>>> # hmm-tests.c:1702:exclusive:Expected ret (-16) == 0 (0)
>>>> close returned (-1) fd is (3)
>>>> # exclusive: Test failed at step #1
>>>> # FAIL hmm.hmm_device_private.exclusive
>>>> not ok 20 hmm.hmm_device_private.exclusive
>>>> # RUN hmm.hmm_device_private.exclusive_mprotect ...
>>>> # hmm-tests.c:1756:exclusive_mprotect:Expected ret (-16) == 0 (0)
>>>> close returned (-1) fd is (3)
>>>> # exclusive_mprotect: Test failed at step #1
>>>> # FAIL hmm.hmm_device_private.exclusive_mprotect
>>>> not ok 21 hmm.hmm_device_private.exclusive_mprotect
>>>> # RUN hmm.hmm_device_private.exclusive_cow ...
>>>> # hmm-tests.c:1809:exclusive_cow:Expected ret (-16) == 0 (0)
>>>> close returned (-1) fd is (3)
>>>> # exclusive_cow: Test failed at step #1
>>>> # FAIL hmm.hmm_device_private.exclusive_cow
>>>> not ok 22 hmm.hmm_device_private.exclusive_cow
>>>>
>>>>
>>>
>>> When did that test start failing? Was it still ok for 6.0?
>
> Didn't test yet, will try, in case it's my system/config specific thing.
>
>>>
>>
>> commit 4fe89d07dcc2804c8b562f6c7896a45643d34b2f (tag: v6.0, linux/master)
>>
>> # FAILED: 25 / 50 tests passed.
>> # Totals: pass:25 fail:25 xfail:0 xpass:0 skip:0 error:0
>>
>> Looks good to me.
>
> Hmm but there's 25 that failed? Or are those also misreported SKIPs?
>
Likely the case. Here is an observation. All of these FAILs are coming
from line 141 which is FIXTURE_SETUP. See the result:
# hmm-tests.c:141:open_close:Expected self->fd (-1) >= 0 (0)
# open_close: Test terminated by assertion
# FAIL hmm.hmm_device_private.open_close
not ok 1 hmm.hmm_device_private.open_close
However the code is:
FIXTURE_SETUP(hmm)
{
self->page_size = sysconf(_SC_PAGE_SIZE);
self->page_shift = ffs(self->page_size) - 1;
self->fd = hmm_open(variant->device_number);
if (self->fd < 0 && hmm_is_coherent_type(variant->device_number))
SKIP(exit(0), "DEVICE_COHERENT not available");
Note: It is SKIP(). It appears it will be reported as fail unless both of
the above conditions are true. Perhaps this check should be either of these
conditions is true, it is skip.
ASSERT_GE(self->fd, 0);
}
Looks like this test could a review to see if all these conditions should
be a FAIL or SKIP. This problem exists in 6.0.
thanks,
-- Shuah
next prev parent reply other threads:[~2022-10-13 17:29 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-10-13 16:54 Vlastimil Babka
2022-10-13 17:01 ` David Hildenbrand
2022-10-13 17:10 ` Shuah Khan
2022-10-13 17:12 ` Vlastimil Babka
2022-10-13 17:29 ` Shuah Khan [this message]
2022-10-13 17:45 ` Vlastimil Babka
2022-10-13 18:00 ` David Hildenbrand
2022-10-13 19:38 ` Shuah Khan
2022-10-13 19:43 ` Vlastimil Babka
2022-10-14 1:45 ` Alistair Popple
2022-10-14 3:21 ` Alistair Popple
2022-10-14 6:53 ` Vlastimil Babka
2022-10-14 6:45 ` Vlastimil Babka
2022-10-13 17:03 ` Shuah Khan
2022-10-13 17:10 ` Vlastimil Babka
2022-10-14 12:01 ` Jason Gunthorpe
2022-10-14 15:03 ` Felix Kuehling
2022-10-14 15:47 ` Jason Gunthorpe
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=479aec54-fa65-2031-e891-332af275e067@linuxfoundation.org \
--to=skhan@linuxfoundation.org \
--cc=Felix.Kuehling@amd.com \
--cc=alex.sierra@amd.com \
--cc=apopple@nvidia.com \
--cc=david@redhat.com \
--cc=hch@lst.de \
--cc=jgg@nvidia.com \
--cc=jglisse@redhat.com \
--cc=linux-kselftest@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=rcampbell@nvidia.com \
--cc=shuah@kernel.org \
--cc=vbabka@suse.cz \
/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