On 3 Jul 2025, at 10:44, Dev Jain wrote: > On 03/07/25 8:11 pm, Zi Yan wrote: >> On 3 Jul 2025, at 2:06, Aboorva Devarajan wrote: >> >>> From: Donet Tom <[email protected]> >>> >>> PowerPC64 supports a 4PB virtual address space, but this test was >>> previously limited to 512TB. This patch extends the coverage up to >>> the full 4PB VA range on PowerPC64. >>> >>> Memory from 0 to 128TB is allocated without an address hint, while >>> allocations from 128TB to 4PB use a hint address. >>> >>> Signed-off-by: Donet Tom <[email protected]> >>> Signed-off-by: Aboorva Devarajan <[email protected]> >>> --- >>> tools/testing/selftests/mm/virtual_address_range.c | 6 ++++++ >>> 1 file changed, 6 insertions(+) >>> >>> diff --git a/tools/testing/selftests/mm/virtual_address_range.c >>> b/tools/testing/selftests/mm/virtual_address_range.c >>> index e24c36a39f22..619acf0b9239 100644 >>> --- a/tools/testing/selftests/mm/virtual_address_range.c >>> +++ b/tools/testing/selftests/mm/virtual_address_range.c >>> @@ -50,6 +50,7 @@ >>> #define NR_CHUNKS_256TB (NR_CHUNKS_128TB * 2UL) >>> #define NR_CHUNKS_384TB (NR_CHUNKS_128TB * 3UL) >>> #define NR_CHUNKS_3840TB (NR_CHUNKS_128TB * 30UL) >>> +#define NR_CHUNKS_3968TB (NR_CHUNKS_128TB * 31UL) >>> >>> #define ADDR_MARK_128TB (1UL << 47) /* First address beyond 128TB */ >>> #define ADDR_MARK_256TB (1UL << 48) /* First address beyond 256TB */ >>> @@ -59,6 +60,11 @@ >>> #define HIGH_ADDR_SHIFT 49 >>> #define NR_CHUNKS_LOW NR_CHUNKS_256TB >>> #define NR_CHUNKS_HIGH NR_CHUNKS_3840TB >>> +#elif defined(__PPC64__) >>> +#define HIGH_ADDR_MARK ADDR_MARK_128TB >>> +#define HIGH_ADDR_SHIFT 48 >>> +#define NR_CHUNKS_LOW NR_CHUNKS_128TB >>> +#define NR_CHUNKS_HIGH NR_CHUNKS_3968TB >>> #else >>> #define HIGH_ADDR_MARK ADDR_MARK_128TB >>> #define HIGH_ADDR_SHIFT 48 >> Could you also update the comment above this code to say PowerPC64 also >> supports 4PB virtual address space? >> >> From the comment, arm64 supports 4PB but its NR_CHUNKS_HIGH is only 3840TB, >> whereas PowerPC64 here can get to 3968TB. I do not know why arm64’s >> 4PB is smaller. ;) > > The border for high VA space is 128 TB for x86 and ppc, for arm64 it > is 256 TB.
Thank you for the explanation. :) Best Regards, Yan, Zi

