summaryrefslogtreecommitdiff
path: root/arch/riscv/include/asm/pgtable-bits.h
diff options
context:
space:
mode:
authorDavid Hildenbrand <david@redhat.com>2023-01-13 20:10:19 +0300
committerAndrew Morton <akpm@linux-foundation.org>2023-02-03 09:33:09 +0300
commit51a1007d4113c632ec5229c685e2162b72d9746d (patch)
treeff27a6f2f486a2817037e481e6497779c2165491 /arch/riscv/include/asm/pgtable-bits.h
parent2bba2ffbe0303552142af944b891967ccf69a63b (diff)
downloadlinux-51a1007d4113c632ec5229c685e2162b72d9746d.tar.xz
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/20230113171026.582290-20-david@redhat.com Signed-off-by: David Hildenbrand <david@redhat.com> Cc: Paul Walmsley <paul.walmsley@sifive.com> Cc: Palmer Dabbelt <palmer@dabbelt.com> Cc: Albert Ou <aou@eecs.berkeley.edu> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
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
/*