[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-Id: <87zhy89ssr.fsf@morokweng.localdomain>
Date: Mon, 30 Jul 2018 21:01:56 -0300
From: Thiago Jung Bauermann <bauerman@...ux.ibm.com>
To: Mike Rapoport <rppt@...ux.vnet.ibm.com>
Cc: linux-kselftest@...r.kernel.org, linux-kernel@...r.kernel.org,
Shuah Khan <shuah@...nel.org>,
Andrea Arcangeli <aarcange@...hat.com>,
Prakash Sangappa <prakash.sangappa@...cle.com>
Subject: Re: [PATCH 3/3] userfaultfd: selftest: Report XFAIL if shmem doesn't support zeropage
Mike Rapoport <rppt@...ux.vnet.ibm.com> writes:
> Hi,
>
> On Tue, Jul 24, 2018 at 11:42:09PM -0300, Thiago Jung Bauermann wrote:
>> If userfaultfd runs on a system that doesn't support UFFDIO_ZEROPAGE for
>> shared memory, it currently ends with error code 1 which indicates test
>> failure:
>>
>> # ./userfaultfd shmem 10 10
>> nr_pages: 160, nr_pages_per_cpu: 80
>> bounces: 9, mode: rnd poll, unexpected missing ioctl for anon memory
>> # echo $?
>> 1
>>
>> This is a real failure, but expected so signal that to the test harness:
>
> I don't think its a real failure. If the kernel does not support
> UFFDIO_ZEROPAGE for shared memory the userfaultfd_zeropage_test can be
> simply skipped.
Ok, good point. I'll make that change in v2.
>> # ./userfaultfd shmem 10 10
>> nr_pages: 160, nr_pages_per_cpu: 80
>> bounces: 9, mode: rnd poll, UFFDIO_ZEROPAGE unsupported in shmem VMAs
>> # echo $?
>> 2
>>
>> Signed-off-by: Thiago Jung Bauermann <bauerman@...ux.ibm.com>
>> ---
>> tools/testing/selftests/vm/userfaultfd.c | 8 ++++++++
>> 1 file changed, 8 insertions(+)
>>
>> diff --git a/tools/testing/selftests/vm/userfaultfd.c b/tools/testing/selftests/vm/userfaultfd.c
>> index bc9ec38fbc34..686fe96f617f 100644
>> --- a/tools/testing/selftests/vm/userfaultfd.c
>> +++ b/tools/testing/selftests/vm/userfaultfd.c
>> @@ -1115,6 +1115,14 @@ static int userfaultfd_stress(void)
>> expected_ioctls = uffd_test_ops->expected_ioctls;
>> if ((uffdio_register.ioctls & expected_ioctls) !=
>> expected_ioctls) {
>> + if (test_type == TEST_SHMEM &&
>> + (uffdio_register.ioctls & expected_ioctls) ==
>> + UFFD_API_RANGE_IOCTLS_BASIC) {
>> + fprintf(stderr,
>> + "UFFDIO_ZEROPAGE unsupported in shmem VMAs\n");
>> + return KSFT_XFAIL;
>> + }
>> +
>
> By all means, this check should be moved to userfaultfd_zeropage_test().
I made that change in v2.
> Ideally, we should call here ksft_test_result_skip() and simply return from
> the function.
In my understanding, calling ksft_test_result_skip() would require
converting the testcase to use the functions that generate TAP output.
Also, returning here isn't actually necessary: from my testing
userfaultfd_stress() doesn't require zeropage support in shmem so if the
only bit missing from uffdio_register.ioctls is the one for
UFFDIO_ZEROPAGE then this error can simply be ignored and the test can
continue. Do you agree?
>> fprintf(stderr,
>> "unexpected missing ioctl for anon memory\n");
>> return 1;
--
Thiago Jung Bauermann
IBM Linux Technology Center
Powered by blists - more mailing lists