selftests/mm: add support to test 4PB VA on PPC64
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. Link: https://lkml.kernel.org/r/20250816040113.760010-3-aboorvad@linux.ibm.com Co-developed-by: Aboorva Devarajan <aboorvad@linux.ibm.com> Signed-off-by: Aboorva Devarajan <aboorvad@linux.ibm.com> Signed-off-by: Donet Tom <donettom@linux.ibm.com> Reviewed-by: Dev Jain <dev.jain@arm.com> Acked-by: David Hildenbrand <david@redhat.com> Reviewed-by: Zi Yan <ziy@nvidia.com> Reviewed-by: Wei Yang <richard.weiyang@gmail.com> Cc: Baolin Wang <baolin.wang@linux.alibaba.com> Cc: Barry Song <baohua@kernel.org> Cc: Liam Howlett <liam.howlett@oracle.com> Cc: Lorenzo Stoakes <lorenzo.stoakes@oracle.com> Cc: Mariano Pache <npache@redhat.com> Cc: "Ritesh Harjani (IBM)" <ritesh.list@gmail.com> Cc: Ryan Roberts <ryan.roberts@arm.com> Cc: Shuah Khan <shuah@kernel.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>pull/1354/merge
parent
eda0bf339b
commit
0ef3783d75
|
|
@ -44,12 +44,18 @@
|
|||
* On Arm64 the address space is 256TB and support for
|
||||
* high mappings up to 4PB virtual address space has
|
||||
* been added.
|
||||
*
|
||||
* On PowerPC64, the address space up to 128TB can be
|
||||
* mapped without a hint. Addresses beyond 128TB, up to
|
||||
* 4PB, can be mapped with a hint.
|
||||
*
|
||||
*/
|
||||
|
||||
#define NR_CHUNKS_128TB ((128 * SZ_1TB) / MAP_CHUNK_SIZE) /* Number of chunks for 128TB */
|
||||
#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 +65,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
|
||||
|
|
|
|||
Loading…
Reference in New Issue