All of lore.kernel.org
 help / color / mirror / Atom feed
From: Dev Jain <dev.jain@arm.com>
To: Ryan Roberts <ryan.roberts@arm.com>,
	akpm@linux-foundation.org, shuah@kernel.org
Cc: linux-kernel@vger.kernel.org, linux-kselftest@vger.kernel.org,
	linux-mm@kvack.org, Anshuman.Khandual@arm.com,
	broonie@kernel.org
Subject: Re: [PATCH] selftests/mm: Skip test for non-LPA2 and non-LVA systems
Date: Wed, 17 Jul 2024 17:41:27 +0530	[thread overview]
Message-ID: <3782befb-c317-4bb0-a279-c90adb2ec47b@arm.com> (raw)
In-Reply-To: <da0054f5-b84e-4635-ae81-9c72f2f25542@arm.com>


On 7/17/24 17:27, Ryan Roberts wrote:
> On 17/07/2024 12:10, Dev Jain wrote:
>> Post my improvement of the test:
>> https://lore.kernel.org/all/20240522070435.773918-3-dev.jain@arm.com/
>> The test begins to fail on 4k and 16k pages, on non-LPA2 systems. To
>> reduce noise in the CI systems, let us skip the test when higher address
>> space is not implemented.
>>
>> Signed-off-by: Dev Jain <dev.jain@arm.com>
>> ---
>> The patch applies on linux-next.
>>
>>   tools/testing/selftests/mm/va_high_addr_switch.c | 14 +++++++++++++-
>>   1 file changed, 13 insertions(+), 1 deletion(-)
>>
>> diff --git a/tools/testing/selftests/mm/va_high_addr_switch.c b/tools/testing/selftests/mm/va_high_addr_switch.c
>> index fa7eabfaf841..c6040e1d6e53 100644
>> --- a/tools/testing/selftests/mm/va_high_addr_switch.c
>> +++ b/tools/testing/selftests/mm/va_high_addr_switch.c
>> @@ -293,6 +293,18 @@ static int run_test(struct testcase *test, int count)
>>   	return ret;
>>   }
>>   
>> +/* Check if userspace VA > 48 bits */
>> +static int high_address_present(void)
>> +{
>> +	void *ptr = mmap((void *)(1UL << 50), 1, PROT_READ | PROT_WRITE,
>> +			 MAP_PRIVATE | MAP_ANONYMOUS | MAP_FIXED, -1, 0);
> I think there is (very unlikely) possibility that something is already mapped at
> this address so it will be replaced due to MAP_FIXED. That could break the test.
> But the only way something could be already mapped is if ARM64_FORCE_52BIT is
> set and in that case, the test will fail anyway, right? So I think this is fine.

The testcases already assume that high addresses must be empty. Yes, FORCE_52BIT
is the only way something could already be mapped at high addresses, but in that
case the test fails trivially.

>
>> +	if (ptr == MAP_FAILED)
>> +		return 0;
>> +
>> +	munmap(ptr, 1);
>> +	return 1;
>> +}
> I'm guessing this will cause a function-not-used warning on arches other than
> arm64? Perhaps wrap it in `#ifdef __aarch64__`?

Ah yes, I just checked and that is true. I shall post v2 in some time, shall
wait if any more comments are there.

>
> Thanks,
> Ryan
>
>> +
>>   static int supported_arch(void)
>>   {
>>   #if defined(__powerpc64__)
>> @@ -300,7 +312,7 @@ static int supported_arch(void)
>>   #elif defined(__x86_64__)
>>   	return 1;
>>   #elif defined(__aarch64__)
>> -	return 1;
>> +	return high_address_present();
>>   #else
>>   	return 0;
>>   #endif

  reply	other threads:[~2024-07-17 12:11 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-07-17 11:10 [PATCH] selftests/mm: Skip test for non-LPA2 and non-LVA systems Dev Jain
2024-07-17 11:57 ` Ryan Roberts
2024-07-17 12:11   ` Dev Jain [this message]
2024-07-17 12:25     ` Ryan Roberts

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=3782befb-c317-4bb0-a279-c90adb2ec47b@arm.com \
    --to=dev.jain@arm.com \
    --cc=Anshuman.Khandual@arm.com \
    --cc=akpm@linux-foundation.org \
    --cc=broonie@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-kselftest@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=ryan.roberts@arm.com \
    --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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.