Re: [PATCH] selftests/mm: Update va_high_addr_switch.sh to check CPU for la57 flag

From: Andrew Morton
Date: Sun Jan 21 2024 - 17:32:04 EST


On Fri, 19 Jan 2024 15:58:01 -0500 Audra Mitchell <audra@xxxxxxxxxx> wrote:

> In order for the page table level 5 to be in use, the CPU must have the
> setting enabled in addition to the CONFIG option. Check for the flag to be
> set to avoid false test failures on systems that do not have this cpu flag
> set.
>

Thanks.

I'll add

Cc: Adam Sindelar <adam@xxxxxxxxxxxx>
Fixes: 4f2930c6718a ("selftests/vm: only run 128TBswitch with 5-level paging")
Cc: <stable@xxxxxxxxxxxxxxx>

A more complete description of these "test failures" would be helpful
please.

> --- a/tools/testing/selftests/mm/va_high_addr_switch.sh
> +++ b/tools/testing/selftests/mm/va_high_addr_switch.sh
> @@ -29,9 +29,15 @@ check_supported_x86_64()
> # See man 1 gzip under '-f'.
> local pg_table_levels=$(gzip -dcfq "${config}" | grep PGTABLE_LEVELS | cut -d'=' -f 2)
>
> + local cpu_supports_pl5=$(awk '/^flags/ {if (/la57/) {print 0;}
> + else {print 1}; exit}' /proc/cpuinfo 2>/dev/null)
> +
> if [[ "${pg_table_levels}" -lt 5 ]]; then
> echo "$0: PGTABLE_LEVELS=${pg_table_levels}, must be >= 5 to run this test"
> exit $ksft_skip
> + elif [[ "${cpu_supports_pl5}" -ne 0 ]]; then
> + echo "$0: CPU does not have the necessary la57 flag to support page table level 5"
> + exit $ksft_skip
> fi
> }
>
> --
> 2.43.0