Message ID | 20230713135440.3651409-7-ryan.roberts@arm.com (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | selftests/mm fixes for arm64 | expand |
On 13.07.23 15:54, Ryan Roberts wrote: > va_high_addr_switch has a mechanism to determine if the tests should be > run or skipped (supported_arch()). This currently returns > unconditionally true for arm64. However, va_high_addr_switch also > requires a large virtual address space for the tests to run, otherwise > they spuriously fail. > > Since arm64 can only support VA > 48 bits when the page size is 64K, > let's decide whether we should skip the test suite based on the page > size. This reduces noise when running on 4K and 16K kernels. > > Signed-off-by: Ryan Roberts <ryan.roberts@arm.com> > --- > tools/testing/selftests/mm/va_high_addr_switch.c | 3 ++- > 1 file changed, 2 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 7cfaf4a74c57..4b6f62c69a9d 100644 > --- a/tools/testing/selftests/mm/va_high_addr_switch.c > +++ b/tools/testing/selftests/mm/va_high_addr_switch.c > @@ -292,7 +292,8 @@ static int supported_arch(void) > #elif defined(__x86_64__) > return 1; > #elif defined(__aarch64__) > - return 1; > + size_t page_size = getpagesize(); > + return page_size == PAGE_SIZE; return getpagesize() == PAGE_SIZE; ? Reviewed-by: David Hildenbrand <david@redhat.com>
diff --git a/tools/testing/selftests/mm/va_high_addr_switch.c b/tools/testing/selftests/mm/va_high_addr_switch.c index 7cfaf4a74c57..4b6f62c69a9d 100644 --- a/tools/testing/selftests/mm/va_high_addr_switch.c +++ b/tools/testing/selftests/mm/va_high_addr_switch.c @@ -292,7 +292,8 @@ static int supported_arch(void) #elif defined(__x86_64__) return 1; #elif defined(__aarch64__) - return 1; + size_t page_size = getpagesize(); + return page_size == PAGE_SIZE; #else return 0; #endif
va_high_addr_switch has a mechanism to determine if the tests should be run or skipped (supported_arch()). This currently returns unconditionally true for arm64. However, va_high_addr_switch also requires a large virtual address space for the tests to run, otherwise they spuriously fail. Since arm64 can only support VA > 48 bits when the page size is 64K, let's decide whether we should skip the test suite based on the page size. This reduces noise when running on 4K and 16K kernels. Signed-off-by: Ryan Roberts <ryan.roberts@arm.com> --- tools/testing/selftests/mm/va_high_addr_switch.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)