Part of the conversions to replace pgtable constructor/destructors with
ptdesc equivalents.
Acked-by: Mike Rapoport (IBM)
Acked-by: Dinh Nguyen
Signed-off-by: Vishal Moola (Oracle)
---
arch/nios2/include/asm/pgalloc.h | 8
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git
As part of the conversions to replace pgtable constructor/destructors with
ptdesc equivalents, convert various page table functions to use ptdescs.
Acked-by: Mike Rapoport (IBM)
Acked-by: Catalin Marinas
Signed-off-by: Vishal Moola (Oracle)
---
arch/arm64/include/asm/tlb.h | 14
Part of the conversions to replace pgtable constructor/destructors with
ptdesc equivalents.
Acked-by: Guo Ren
Acked-by: Mike Rapoport (IBM)
Signed-off-by: Vishal Moola (Oracle)
---
arch/csky/include/asm/pgalloc.h | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/arch
Part of the conversions to replace pgtable pte constructor/destructors with
ptdesc equivalents.
Acked-by: Mike Rapoport (IBM)
Signed-off-by: Vishal Moola (Oracle)
---
arch/sparc/mm/srmmu.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/arch/sparc/mm/srmmu.c b/arch
Part of the conversions to replace pgtable constructor/destructors with
ptdesc equivalents. Also cleans up some spacing issues.
Reviewed-by: Geert Uytterhoeven
Acked-by: John Paul Adrian Glaubitz
Acked-by: Mike Rapoport (IBM)
Signed-off-by: Vishal Moola (Oracle)
---
arch/sh/include/asm
Part of the conversions to replace pgtable constructor/destructors with
ptdesc equivalents.
Acked-by: Mike Rapoport (IBM)
Signed-off-by: Vishal Moola (Oracle)
---
arch/openrisc/include/asm/pgalloc.h | 8
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/arch/openrisc
page tables further.
Acked-by: Mike Rapoport (IBM)
Signed-off-by: Vishal Moola (Oracle)
---
arch/arm/include/asm/tlb.h | 12 +++-
arch/arm/mm/mmu.c | 7 ---
2 files changed, 11 insertions(+), 8 deletions(-)
diff --git a/arch/arm/include/asm/tlb.h b/arch/arm/include/asm
Part of the conversions to replace pgtable constructor/destructors with
ptdesc equivalents. Also cleans up some spacing issues.
Acked-by: Mike Rapoport (IBM)
Signed-off-by: Vishal Moola (Oracle)
---
arch/um/include/asm/pgalloc.h | 18 +-
1 file changed, 9 insertions(+), 9
page tables further.
Acked-by: Mike Rapoport (IBM)
Signed-off-by: Vishal Moola (Oracle)
---
arch/loongarch/include/asm/pgalloc.h | 27 +++
arch/loongarch/mm/pgtable.c | 7 ---
2 files changed, 19 insertions(+), 15 deletions(-)
diff --git a/arch/loongarch
page tables further.
Acked-by: Mike Rapoport (IBM)
Signed-off-by: Vishal Moola (Oracle)
---
arch/mips/include/asm/pgalloc.h | 32 ++--
arch/mips/mm/pgtable.c | 8 +---
2 files changed, 23 insertions(+), 17 deletions(-)
diff --git a/arch/mips/include/asm
page tables further.
Acked-by: Mike Rapoport (IBM)
Acked-by: Geert Uytterhoeven
Signed-off-by: Vishal Moola (Oracle)
---
arch/m68k/include/asm/mcf_pgalloc.h | 47 ++--
arch/m68k/include/asm/sun3_pgalloc.h | 8 ++---
arch/m68k/mm/motorola.c | 4 +--
3
page tables further.
Acked-by: Mike Rapoport (IBM)
Signed-off-by: Vishal Moola (Oracle)
---
arch/s390/include/asm/pgalloc.h | 4 +-
arch/s390/include/asm/tlb.h | 4 +-
arch/s390/mm/pgalloc.c | 128
3 files changed, 69 insertions(+), 67 deletions
These functions are no longer necessary. Remove them and cleanup
Documentation referencing them.
Acked-by: Mike Rapoport (IBM)
Signed-off-by: Vishal Moola (Oracle)
---
Documentation/mm/split_page_table_lock.rst| 12 +--
.../zh_CN/mm/split_page_table_lock.rst| 14
Part of the conversions to replace pgtable constructor/destructors with
ptdesc equivalents.
Acked-by: Mike Rapoport (IBM)
Signed-off-by: Vishal Moola (Oracle)
---
arch/hexagon/include/asm/pgalloc.h | 8
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/arch/hexagon/include
page tables further.
Signed-off-by: Vishal Moola (Oracle)
---
include/asm-generic/pgalloc.h | 88 +--
1 file changed, 52 insertions(+), 36 deletions(-)
diff --git a/include/asm-generic/pgalloc.h b/include/asm-generic/pgalloc.h
index a7cf825befae..c75d4a753849
As part of the conversions to replace pgtable constructor/destructors with
ptdesc equivalents, convert various page table functions to use ptdescs.
Acked-by: Mike Rapoport (IBM)
Signed-off-by: Vishal Moola (Oracle)
---
arch/sparc/mm/init_64.c | 17 +
1 file changed, 9
page tables further.
Acked-by: Palmer Dabbelt
Acked-by: Mike Rapoport (IBM)
Signed-off-by: Vishal Moola (Oracle)
---
arch/riscv/include/asm/pgalloc.h | 8
arch/riscv/mm/init.c | 16 ++--
2 files changed, 10 insertions(+), 14 deletions(-)
diff --git a/arch
The page table members are now split out into their own ptdesc struct.
Remove them from struct page.
Signed-off-by: Vishal Moola (Oracle)
Acked-by: Mike Rapoport (IBM)
---
include/linux/mm_types.h | 21 -
1 file changed, 21 deletions(-)
diff --git a/include/linux
In order to split struct ptdesc from struct page, convert various
functions to use ptdescs.
Some of the functions use the *get*page*() helper functions. Convert
these to use pagetable_alloc() and ptdesc_address() instead to help
standardize page tables further.
Signed-off-by: Vishal Moola
Create pagetable_pte_ctor(), pagetable_pmd_ctor(), pagetable_pte_dtor(),
and pagetable_pmd_dtor() and make the original pgtable
constructor/destructors wrappers.
Acked-by: Mike Rapoport (IBM)
Signed-off-by: Vishal Moola (Oracle)
---
include/linux/mm.h | 56
This removes some direct accesses to struct page, working towards
splitting out struct ptdesc from struct page.
Acked-by: Mike Rapoport (IBM)
Signed-off-by: Vishal Moola (Oracle)
---
include/linux/mm.h | 10 +-
mm/memory.c| 4 ++--
2 files changed, 7 insertions(+), 7 deletions
In order to split struct ptdesc from struct page, convert various
functions to use ptdescs.
Acked-by: Mike Rapoport (IBM)
Signed-off-by: Vishal Moola (Oracle)
---
arch/powerpc/mm/book3s64/mmu_context.c | 10 ++---
arch/powerpc/mm/book3s64/pgtable.c | 32 +++---
arch/powerpc/mm
This removes some direct accesses to struct page, working towards
splitting out struct ptdesc from struct page.
Acked-by: Mike Rapoport (IBM)
Signed-off-by: Vishal Moola (Oracle)
---
include/linux/mm.h | 10 +-
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/include/linux
This removes some direct accesses to struct page, working towards
splitting out struct ptdesc from struct page.
Acked-by: Mike Rapoport (IBM)
Signed-off-by: Vishal Moola (Oracle)
---
include/linux/mm.h | 14 +++---
1 file changed, 7 insertions(+), 7 deletions(-)
diff --git a/include
This removes some direct accesses to struct page, working towards
splitting out struct ptdesc from struct page.
Acked-by: Mike Rapoport (IBM)
Signed-off-by: Vishal Moola (Oracle)
---
include/linux/mm.h | 10 +-
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/include/linux
This removes some direct accesses to struct page, working towards
splitting out struct ptdesc from struct page.
Acked-by: Mike Rapoport (IBM)
Signed-off-by: Vishal Moola (Oracle)
---
arch/x86/xen/mmu_pv.c | 2 +-
include/linux/mm.h| 14 +++---
2 files changed, 8 insertions(+), 8
Converts internal pmd_pgtable_page() callers to use pmd_ptdesc(). This
removes some direct accesses to struct page, working towards splitting
out struct ptdesc from struct page.
Acked-by: Mike Rapoport (IBM)
Signed-off-by: Vishal Moola (Oracle)
---
include/linux/mm.h | 4 ++--
1 file changed
This removes some direct accesses to struct page, working towards
splitting out struct ptdesc from struct page.
Acked-by: Mike Rapoport (IBM)
Signed-off-by: Vishal Moola (Oracle)
---
include/linux/mm.h | 6 +++---
mm/memory.c| 4 ++--
2 files changed, 5 insertions(+), 5 deletions
Currently, page table information is stored within struct page. As part
of simplifying struct page, create struct ptdesc for page table
information.
Signed-off-by: Vishal Moola (Oracle)
Acked-by: Mike Rapoport (IBM)
---
include/linux/mm_types.h | 70
1
/pgtable.h
Vishal Moola (Oracle) (31):
mm: Add PAGE_TYPE_OP folio functions
pgtable: create struct ptdesc
mm: add utility functions for ptdesc
mm: Convert pmd_pgtable_page() callers to use pmd_ptdesc()
mm: Convert ptlock_alloc() to use ptdescs
mm: Convert ptlock_ptr() to use ptdescs
mm
() is defined to allocate new ptdesc pages as compound
pages. This is to standardize ptdescs by allowing for one allocation and
one free function, in contrast to 2 allocation and 2 free functions.
Signed-off-by: Vishal Moola (Oracle)
---
include/asm-generic/tlb.h | 11 +++
include/linux/mm.h
No folio equivalents for page type operations have been defined, so
define them for later folio conversions.
Also changes the Page##uname macros to take in const struct page* since
we only read the memory here.
Acked-by: Mike Rapoport (IBM)
Signed-off-by: Vishal Moola (Oracle)
---
include
page tables further.
Signed-off-by: Vishal Moola (Oracle)
Acked-by: Mike Rapoport (IBM)
---
arch/arm/include/asm/tlb.h | 12 +++-
arch/arm/mm/mmu.c | 7 ---
2 files changed, 11 insertions(+), 8 deletions(-)
diff --git a/arch/arm/include/asm/tlb.h b/arch/arm/include/asm
Part of the conversions to replace pgtable constructor/destructors with
ptdesc equivalents. Also cleans up some spacing issues.
Signed-off-by: Vishal Moola (Oracle)
Acked-by: Mike Rapoport (IBM)
---
arch/um/include/asm/pgalloc.h | 18 +-
1 file changed, 9 insertions(+), 9
These functions are no longer necessary. Remove them and cleanup
Documentation referencing them.
Signed-off-by: Vishal Moola (Oracle)
Acked-by: Mike Rapoport (IBM)
---
Documentation/mm/split_page_table_lock.rst| 12 +--
.../zh_CN/mm/split_page_table_lock.rst| 14
Part of the conversions to replace pgtable constructor/destructors with
ptdesc equivalents.
Signed-off-by: Vishal Moola (Oracle)
Acked-by: Guo Ren
Acked-by: Mike Rapoport (IBM)
---
arch/csky/include/asm/pgalloc.h | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/arch
page tables further.
Signed-off-by: Vishal Moola (Oracle)
Acked-by: Mike Rapoport (IBM)
---
arch/s390/include/asm/pgalloc.h | 4 +-
arch/s390/include/asm/tlb.h | 4 +-
arch/s390/mm/pgalloc.c | 128
3 files changed, 69 insertions(+), 67 deletions
page tables further.
Signed-off-by: Vishal Moola (Oracle)
---
include/asm-generic/pgalloc.h | 88 +--
1 file changed, 52 insertions(+), 36 deletions(-)
diff --git a/include/asm-generic/pgalloc.h b/include/asm-generic/pgalloc.h
index a7cf825befae..c75d4a753849
page tables further.
Signed-off-by: Vishal Moola (Oracle)
Acked-by: Mike Rapoport (IBM)
Acked-by: Geert Uytterhoeven
---
arch/m68k/include/asm/mcf_pgalloc.h | 47 ++--
arch/m68k/include/asm/sun3_pgalloc.h | 8 ++---
arch/m68k/mm/motorola.c | 4 +--
3
As part of the conversions to replace pgtable constructor/destructors with
ptdesc equivalents, convert various page table functions to use ptdescs.
Signed-off-by: Vishal Moola (Oracle)
Acked-by: Mike Rapoport (IBM)
---
arch/sparc/mm/init_64.c | 17 +
1 file changed, 9
Part of the conversions to replace pgtable constructor/destructors with
ptdesc equivalents.
Signed-off-by: Vishal Moola (Oracle)
Acked-by: Mike Rapoport (IBM)
Acked-by: Dinh Nguyen
---
arch/nios2/include/asm/pgalloc.h | 8
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git
Part of the conversions to replace pgtable constructor/destructors with
ptdesc equivalents.
Signed-off-by: Vishal Moola (Oracle)
Acked-by: Mike Rapoport (IBM)
---
arch/hexagon/include/asm/pgalloc.h | 8
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/arch/hexagon/include
page tables further.
Signed-off-by: Vishal Moola (Oracle)
Acked-by: Mike Rapoport (IBM)
---
arch/mips/include/asm/pgalloc.h | 32 ++--
arch/mips/mm/pgtable.c | 8 +---
2 files changed, 23 insertions(+), 17 deletions(-)
diff --git a/arch/mips/include/asm
Part of the conversions to replace pgtable pte constructor/destructors with
ptdesc equivalents.
Signed-off-by: Vishal Moola (Oracle)
Acked-by: Mike Rapoport (IBM)
---
arch/sparc/mm/srmmu.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/arch/sparc/mm/srmmu.c b/arch
As part of the conversions to replace pgtable constructor/destructors with
ptdesc equivalents, convert various page table functions to use ptdescs.
Signed-off-by: Vishal Moola (Oracle)
Acked-by: Mike Rapoport (IBM)
Acked-by: Catalin Marinas
---
arch/arm64/include/asm/tlb.h | 14
page tables further.
Signed-off-by: Vishal Moola (Oracle)
Acked-by: Mike Rapoport (IBM)
---
arch/loongarch/include/asm/pgalloc.h | 27 +++
arch/loongarch/mm/pgtable.c | 7 ---
2 files changed, 19 insertions(+), 15 deletions(-)
diff --git a/arch/loongarch
Part of the conversions to replace pgtable constructor/destructors with
ptdesc equivalents. Also cleans up some spacing issues.
Signed-off-by: Vishal Moola (Oracle)
Reviewed-by: Geert Uytterhoeven
Acked-by: John Paul Adrian Glaubitz
Acked-by: Mike Rapoport (IBM)
---
arch/sh/include/asm
page tables further.
Signed-off-by: Vishal Moola (Oracle)
Acked-by: Palmer Dabbelt
Acked-by: Mike Rapoport (IBM)
---
arch/riscv/include/asm/pgalloc.h | 8
arch/riscv/mm/init.c | 16 ++--
2 files changed, 10 insertions(+), 14 deletions(-)
diff --git a/arch
The page table members are now split out into their own ptdesc struct.
Remove them from struct page.
Signed-off-by: Vishal Moola (Oracle)
Acked-by: Mike Rapoport (IBM)
---
include/linux/mm_types.h | 18 --
include/linux/pgtable.h | 3 ---
2 files changed, 21 deletions
Part of the conversions to replace pgtable constructor/destructors with
ptdesc equivalents.
Signed-off-by: Vishal Moola (Oracle)
Acked-by: Mike Rapoport (IBM)
---
arch/openrisc/include/asm/pgalloc.h | 8
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/arch/openrisc
In order to split struct ptdesc from struct page, convert various
functions to use ptdescs.
Some of the functions use the *get*page*() helper functions. Convert
these to use pagetable_alloc() and ptdesc_address() instead to help
standardize page tables further.
Signed-off-by: Vishal Moola
In order to split struct ptdesc from struct page, convert various
functions to use ptdescs.
Signed-off-by: Vishal Moola (Oracle)
Acked-by: Mike Rapoport (IBM)
---
arch/powerpc/mm/book3s64/mmu_context.c | 10 ++---
arch/powerpc/mm/book3s64/pgtable.c | 32 +++---
arch/powerpc/mm
Create pagetable_pte_ctor(), pagetable_pmd_ctor(), pagetable_pte_dtor(),
and pagetable_pmd_dtor() and make the original pgtable
constructor/destructors wrappers.
Signed-off-by: Vishal Moola (Oracle)
Acked-by: Mike Rapoport (IBM)
---
include/linux/mm.h | 56
This removes some direct accesses to struct page, working towards
splitting out struct ptdesc from struct page.
Signed-off-by: Vishal Moola (Oracle)
Acked-by: Mike Rapoport (IBM)
---
include/linux/mm.h | 14 +++---
1 file changed, 7 insertions(+), 7 deletions(-)
diff --git a/include
This removes some direct accesses to struct page, working towards
splitting out struct ptdesc from struct page.
Signed-off-by: Vishal Moola (Oracle)
Acked-by: Mike Rapoport (IBM)
---
include/linux/mm.h | 10 +-
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/include/linux
This removes some direct accesses to struct page, working towards
splitting out struct ptdesc from struct page.
Signed-off-by: Vishal Moola (Oracle)
Acked-by: Mike Rapoport (IBM)
---
include/linux/mm.h | 10 +-
mm/memory.c| 4 ++--
2 files changed, 7 insertions(+), 7 deletions
This removes some direct accesses to struct page, working towards
splitting out struct ptdesc from struct page.
Signed-off-by: Vishal Moola (Oracle)
Acked-by: Mike Rapoport (IBM)
---
include/linux/mm.h | 10 +-
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/include/linux
This removes some direct accesses to struct page, working towards
splitting out struct ptdesc from struct page.
Signed-off-by: Vishal Moola (Oracle)
Acked-by: Mike Rapoport (IBM)
---
include/linux/mm.h | 6 +++---
mm/memory.c| 4 ++--
2 files changed, 5 insertions(+), 5 deletions
() is defined to allocate new ptdesc pages as compound
pages. This is to standardize ptdescs by allowing for one allocation
and one free function, in contrast to 2 allocation and 2 free functions.
Signed-off-by: Vishal Moola (Oracle)
---
include/asm-generic/tlb.h | 11 +++
include/linux/mm.h
This removes some direct accesses to struct page, working towards
splitting out struct ptdesc from struct page.
Signed-off-by: Vishal Moola (Oracle)
Acked-by: Mike Rapoport (IBM)
---
arch/x86/xen/mmu_pv.c | 2 +-
include/linux/mm.h| 14 +++---
2 files changed, 8 insertions(+), 8
Currently, page table information is stored within struct page. As part
of simplifying struct page, create struct ptdesc for page table
information.
Signed-off-by: Vishal Moola (Oracle)
Acked-by: Mike Rapoport (IBM)
---
include/linux/pgtable.h | 71 +
1
Converts internal pmd_pgtable_page() callers to use pmd_ptdesc(). This
removes some direct accesses to struct page, working towards splitting
out struct ptdesc from struct page.
Signed-off-by: Vishal Moola (Oracle)
Acked-by: Mike Rapoport (IBM)
---
include/linux/mm.h | 4 ++--
1 file changed
happen.
This is rebased on mm-unstable.
v8:
Fix some compiler issues
v7:
Drop s390 gmap ptdesc conversions - gmap is unecessary complication
that can be dealt with later
Be more thorough with ptdesc struct sanity checks and comments
Rebase onto mm-unstable
Vishal Moola (Oracle) (31
No folio equivalents for page type operations have been defined, so
define them for later folio conversions.
Also changes the Page##uname macros to take in const struct page* since
we only read the memory here.
Signed-off-by: Vishal Moola (Oracle)
Acked-by: Mike Rapoport (IBM)
---
include
Part of the conversions to replace pgtable pte constructor/destructors with
ptdesc equivalents.
Signed-off-by: Vishal Moola (Oracle)
Acked-by: Mike Rapoport (IBM)
---
arch/sparc/mm/srmmu.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/arch/sparc/mm/srmmu.c b/arch
The page table members are now split out into their own ptdesc struct.
Remove them from struct page.
Signed-off-by: Vishal Moola (Oracle)
Acked-by: Mike Rapoport (IBM)
---
include/linux/mm_types.h | 18 --
include/linux/pgtable.h | 3 ---
2 files changed, 21 deletions
As part of the conversions to replace pgtable constructor/destructors with
ptdesc equivalents, convert various page table functions to use ptdescs.
Signed-off-by: Vishal Moola (Oracle)
Acked-by: Mike Rapoport (IBM)
---
arch/sparc/mm/init_64.c | 17 +
1 file changed, 9
page tables further.
Signed-off-by: Vishal Moola (Oracle)
Acked-by: Mike Rapoport (IBM)
Acked-by: Geert Uytterhoeven
---
arch/m68k/include/asm/mcf_pgalloc.h | 47 ++--
arch/m68k/include/asm/sun3_pgalloc.h | 8 ++---
arch/m68k/mm/motorola.c | 4 +--
3
Part of the conversions to replace pgtable constructor/destructors with
ptdesc equivalents. Also cleans up some spacing issues.
Signed-off-by: Vishal Moola (Oracle)
Acked-by: Mike Rapoport (IBM)
---
arch/um/include/asm/pgalloc.h | 18 +-
1 file changed, 9 insertions(+), 9
These functions are no longer necessary. Remove them and cleanup
Documentation referencing them.
Signed-off-by: Vishal Moola (Oracle)
Acked-by: Mike Rapoport (IBM)
---
Documentation/mm/split_page_table_lock.rst| 12 +--
.../zh_CN/mm/split_page_table_lock.rst| 14
page tables further.
Signed-off-by: Vishal Moola (Oracle)
Acked-by: Mike Rapoport (IBM)
---
arch/loongarch/include/asm/pgalloc.h | 27 +++
arch/loongarch/mm/pgtable.c | 7 ---
2 files changed, 19 insertions(+), 15 deletions(-)
diff --git a/arch/loongarch
page tables further.
Signed-off-by: Vishal Moola (Oracle)
Acked-by: Mike Rapoport (IBM)
---
arch/mips/include/asm/pgalloc.h | 32 ++--
arch/mips/mm/pgtable.c | 8 +---
2 files changed, 23 insertions(+), 17 deletions(-)
diff --git a/arch/mips/include/asm
As part of the conversions to replace pgtable constructor/destructors with
ptdesc equivalents, convert various page table functions to use ptdescs.
Signed-off-by: Vishal Moola (Oracle)
Acked-by: Mike Rapoport (IBM)
Acked-by: Catalin Marinas
---
arch/arm64/include/asm/tlb.h | 14
Part of the conversions to replace pgtable constructor/destructors with
ptdesc equivalents.
Signed-off-by: Vishal Moola (Oracle)
Acked-by: Mike Rapoport (IBM)
Acked-by: Dinh Nguyen
---
arch/nios2/include/asm/pgalloc.h | 8
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git
In order to split struct ptdesc from struct page, convert various
functions to use ptdescs.
Signed-off-by: Vishal Moola (Oracle)
Acked-by: Mike Rapoport (IBM)
---
arch/powerpc/mm/book3s64/mmu_context.c | 10 ++---
arch/powerpc/mm/book3s64/pgtable.c | 32 +++
arch/powerpc/mm
page tables further.
Signed-off-by: Vishal Moola (Oracle)
Acked-by: Palmer Dabbelt
Acked-by: Mike Rapoport (IBM)
---
arch/riscv/include/asm/pgalloc.h | 8
arch/riscv/mm/init.c | 16 ++--
2 files changed, 10 insertions(+), 14 deletions(-)
diff --git a/arch
page tables further.
Signed-off-by: Vishal Moola (Oracle)
Acked-by: Mike Rapoport (IBM)
---
arch/s390/include/asm/pgalloc.h | 4 +-
arch/s390/include/asm/tlb.h | 4 +-
arch/s390/mm/pgalloc.c | 128
3 files changed, 69 insertions(+), 67 deletions
page tables further.
Signed-off-by: Vishal Moola (Oracle)
Acked-by: Mike Rapoport (IBM)
---
arch/arm/include/asm/tlb.h | 12 +++-
arch/arm/mm/mmu.c | 7 ---
2 files changed, 11 insertions(+), 8 deletions(-)
diff --git a/arch/arm/include/asm/tlb.h b/arch/arm/include/asm
Part of the conversions to replace pgtable constructor/destructors with
ptdesc equivalents.
Signed-off-by: Vishal Moola (Oracle)
Acked-by: Guo Ren
Acked-by: Mike Rapoport (IBM)
---
arch/csky/include/asm/pgalloc.h | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/arch
Part of the conversions to replace pgtable constructor/destructors with
ptdesc equivalents.
Signed-off-by: Vishal Moola (Oracle)
Acked-by: Mike Rapoport (IBM)
---
arch/hexagon/include/asm/pgalloc.h | 8
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/arch/hexagon/include
Part of the conversions to replace pgtable constructor/destructors with
ptdesc equivalents. Also cleans up some spacing issues.
Signed-off-by: Vishal Moola (Oracle)
Reviewed-by: Geert Uytterhoeven
Acked-by: John Paul Adrian Glaubitz
Acked-by: Mike Rapoport (IBM)
---
arch/sh/include/asm
Part of the conversions to replace pgtable constructor/destructors with
ptdesc equivalents.
Signed-off-by: Vishal Moola (Oracle)
Acked-by: Mike Rapoport (IBM)
---
arch/openrisc/include/asm/pgalloc.h | 8
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/arch/openrisc
page tables further.
Signed-off-by: Vishal Moola (Oracle)
---
include/asm-generic/pgalloc.h | 88 +--
1 file changed, 52 insertions(+), 36 deletions(-)
diff --git a/include/asm-generic/pgalloc.h b/include/asm-generic/pgalloc.h
index a7cf825befae..c75d4a753849
In order to split struct ptdesc from struct page, convert various
functions to use ptdescs.
Some of the functions use the *get*page*() helper functions. Convert
these to use pagetable_alloc() and ptdesc_address() instead to help
standardize page tables further.
Signed-off-by: Vishal Moola
Create pagetable_pte_ctor(), pagetable_pmd_ctor(), pagetable_pte_dtor(),
and pagetable_pmd_dtor() and make the original pgtable
constructor/destructors wrappers.
Signed-off-by: Vishal Moola (Oracle)
Acked-by: Mike Rapoport (IBM)
---
include/linux/mm.h | 56
This removes some direct accesses to struct page, working towards
splitting out struct ptdesc from struct page.
Signed-off-by: Vishal Moola (Oracle)
Acked-by: Mike Rapoport (IBM)
---
include/linux/mm.h | 10 +-
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/include/linux
This removes some direct accesses to struct page, working towards
splitting out struct ptdesc from struct page.
Signed-off-by: Vishal Moola (Oracle)
Acked-by: Mike Rapoport (IBM)
---
include/linux/mm.h | 10 +-
mm/memory.c| 4 ++--
2 files changed, 7 insertions(+), 7 deletions
This removes some direct accesses to struct page, working towards
splitting out struct ptdesc from struct page.
Signed-off-by: Vishal Moola (Oracle)
Acked-by: Mike Rapoport (IBM)
---
include/linux/mm.h | 14 +++---
1 file changed, 7 insertions(+), 7 deletions(-)
diff --git a/include
This removes some direct accesses to struct page, working towards
splitting out struct ptdesc from struct page.
Signed-off-by: Vishal Moola (Oracle)
Acked-by: Mike Rapoport (IBM)
---
include/linux/mm.h | 10 +-
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/include/linux
Converts internal pmd_pgtable_page() callers to use pmd_ptdesc(). This
removes some direct accesses to struct page, working towards splitting
out struct ptdesc from struct page.
Signed-off-by: Vishal Moola (Oracle)
Acked-by: Mike Rapoport (IBM)
---
include/linux/mm.h | 4 ++--
1 file changed
This removes some direct accesses to struct page, working towards
splitting out struct ptdesc from struct page.
Signed-off-by: Vishal Moola (Oracle)
Acked-by: Mike Rapoport (IBM)
---
arch/x86/xen/mmu_pv.c | 2 +-
include/linux/mm.h| 14 +++---
2 files changed, 8 insertions(+), 8
This removes some direct accesses to struct page, working towards
splitting out struct ptdesc from struct page.
Signed-off-by: Vishal Moola (Oracle)
Acked-by: Mike Rapoport (IBM)
---
include/linux/mm.h | 6 +++---
mm/memory.c| 4 ++--
2 files changed, 5 insertions(+), 5 deletions
No folio equivalents for page type operations have been defined, so
define them for later folio conversions.
Also changes the Page##uname macros to take in const struct page* since
we only read the memory here.
Signed-off-by: Vishal Moola (Oracle)
Acked-by: Mike Rapoport (IBM)
---
include
Currently, page table information is stored within struct page. As part
of simplifying struct page, create struct ptdesc for page table
information.
Signed-off-by: Vishal Moola (Oracle)
Acked-by: Mike Rapoport (IBM)
---
include/linux/pgtable.h | 71 +
1
() is defined to allocate new ptdesc pages as compound
pages. This is to standardize ptdescs by allowing for one allocation
and one free function, in contrast to 2 allocation and 2 free functions.
Signed-off-by: Vishal Moola (Oracle)
---
include/asm-generic/tlb.h | 11 +++
include/linux/mm.h
happen.
This is rebased on mm-unstable.
v7:
Drop s390 gmap ptdesc conversions - gmap is unecessary complication
that can be dealt with later
Be more thorough with ptdesc struct sanity checks and comments
Rebase onto mm-unstable
Vishal Moola (Oracle) (31):
mm: Add PAGE_TYPE_OP folio
As part of the conversions to replace pgtable constructor/destructors with
ptdesc equivalents, convert various page table functions to use ptdescs.
Signed-off-by: Vishal Moola (Oracle)
Acked-by: Mike Rapoport (IBM)
Acked-by: Catalin Marinas
---
arch/arm64/include/asm/tlb.h | 14
As part of the conversions to replace pgtable constructor/destructors with
ptdesc equivalents, convert various page table functions to use ptdescs.
Signed-off-by: Vishal Moola (Oracle)
Acked-by: Mike Rapoport (IBM)
---
arch/sparc/mm/init_64.c | 17 +
1 file changed, 9
The page table members are now split out into their own ptdesc struct.
Remove them from struct page.
Signed-off-by: Vishal Moola (Oracle)
Acked-by: Mike Rapoport (IBM)
---
include/linux/mm_types.h | 14 --
include/linux/pgtable.h | 3 ---
2 files changed, 17 deletions(-)
diff
page tables further.
Signed-off-by: Vishal Moola (Oracle)
Acked-by: Mike Rapoport (IBM)
---
arch/mips/include/asm/pgalloc.h | 32 ++--
arch/mips/mm/pgtable.c | 8 +---
2 files changed, 23 insertions(+), 17 deletions(-)
diff --git a/arch/mips/include/asm
1 - 100 of 303 matches
Mail list logo