aboutsummaryrefslogtreecommitdiffstats
path: root/arch/riscv/include/asm/pgtable-bits.h
diff options
context:
space:
mode:
authorDavid Hildenbrand <[email protected]>2023-01-13 17:10:19 +0000
committerAndrew Morton <[email protected]>2023-02-03 06:33:09 +0000
commit51a1007d4113c632ec5229c685e2162b72d9746d (patch)
treeff27a6f2f486a2817037e481e6497779c2165491 /arch/riscv/include/asm/pgtable-bits.h
parentpowerpc/nohash/mm: support __HAVE_ARCH_PTE_SWP_EXCLUSIVE (diff)
downloadkernel-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.h3
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
/*