diff options
| author | David Hildenbrand <[email protected]> | 2023-01-13 17:10:19 +0000 |
|---|---|---|
| committer | Andrew Morton <[email protected]> | 2023-02-03 06:33:09 +0000 |
| commit | 51a1007d4113c632ec5229c685e2162b72d9746d (patch) | |
| tree | ff27a6f2f486a2817037e481e6497779c2165491 /arch/riscv/include/asm/pgtable-bits.h | |
| parent | powerpc/nohash/mm: support __HAVE_ARCH_PTE_SWP_EXCLUSIVE (diff) | |
| download | kernel-51a1007d4113c632ec5229c685e2162b72d9746d.tar.gz kernel-51a1007d4113c632ec5229c685e2162b72d9746d.zip | |
riscv/mm: support __HAVE_ARCH_PTE_SWP_EXCLUSIVE
Let's support __HAVE_ARCH_PTE_SWP_EXCLUSIVE by stealing one bit from the
offset. This reduces the maximum swap space per file: on 32bit to 16 GiB
(was 32 GiB).
Note that this bit does not conflict with swap PMDs and could also be used
in swap PMD context later.
While at it, mask the type in __swp_entry().
Link: https://lkml.kernel.org/r/[email protected]
Signed-off-by: David Hildenbrand <[email protected]>
Cc: Paul Walmsley <[email protected]>
Cc: Palmer Dabbelt <[email protected]>
Cc: Albert Ou <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Diffstat (limited to 'arch/riscv/include/asm/pgtable-bits.h')
| -rw-r--r-- | arch/riscv/include/asm/pgtable-bits.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/arch/riscv/include/asm/pgtable-bits.h b/arch/riscv/include/asm/pgtable-bits.h index b9e13a8fe2b7..f896708e8331 100644 --- a/arch/riscv/include/asm/pgtable-bits.h +++ b/arch/riscv/include/asm/pgtable-bits.h @@ -27,6 +27,9 @@ */ #define _PAGE_PROT_NONE _PAGE_GLOBAL +/* Used for swap PTEs only. */ +#define _PAGE_SWP_EXCLUSIVE _PAGE_ACCESSED + #define _PAGE_PFN_SHIFT 10 /* |
