linux/arch
Aneesh Kumar K.V 603fd64dfa powerpc/book3s64/memhotplug: enable memmap on memory for radix
Radix vmemmap mapping can map things correctly at the PMD level or PTE
level based on different device boundary checks.  Hence we skip the
restrictions w.r.t vmemmap size to be multiple of PMD_SIZE.  This also
makes the feature widely useful because to use PMD_SIZE vmemmap area we
require a memory block size of 2GiB

We can also use MHP_RESERVE_PAGES_MEMMAP_ON_MEMORY to that the feature can
work with a memory block size of 256MB.  Using altmap.reserve feature to
align things correctly at pageblock granularity.  We can end up losing
some pages in memory with this.  For ex: with a 256MiB memory block size,
we require 4 pages to map vmemmap pages, In order to align things
correctly we end up adding a reserve of 28 pages.  ie, for every 4096
pages 28 pages get reserved.

Link: https://lkml.kernel.org/r/20230808091501.287660-6-aneesh.kumar@linux.ibm.com
Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.ibm.com>
Reviewed-by: David Hildenbrand <david@redhat.com>
Cc: Christophe Leroy <christophe.leroy@csgroup.eu>
Cc: Michael Ellerman <mpe@ellerman.id.au>
Cc: Michal Hocko <mhocko@suse.com>
Cc: Nicholas Piggin <npiggin@gmail.com>
Cc: Oscar Salvador <osalvador@suse.de>
Cc: Vishal Verma <vishal.l.verma@intel.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
2023-08-21 13:37:49 -07:00
..
alpha Merge branch 'expand-stack' 2023-06-28 20:35:21 -07:00
arc arc: mm: convert to GENERIC_IOREMAP 2023-08-18 10:12:33 -07:00
arm arm: adjust_pte() use pte_offset_map_nolock() 2023-08-18 10:12:23 -07:00
arm64 mm/memory_hotplug: simplify ARCH_MHP_MEMMAP_ON_MEMORY_ENABLE kconfig 2023-08-21 13:37:48 -07:00
csky arch/csky patches for 6.5 2023-07-01 21:12:32 -07:00
hexagon hexagon: mm: convert to GENERIC_IOREMAP 2023-08-18 10:12:32 -07:00
ia64 ia64: mm: convert to GENERIC_IOREMAP 2023-08-18 10:12:33 -07:00
loongarch mm/vmemmap optimization: split hugetlb and devdax vmemmap optimization 2023-08-18 10:12:54 -07:00
m68k asm-generic/iomap.h: remove ARCH_HAS_IOREMAP_xx macros 2023-08-18 10:12:32 -07:00
microblaze slab updates for 6.5 2023-06-29 16:34:12 -07:00
mips asm-generic/iomap.h: remove ARCH_HAS_IOREMAP_xx macros 2023-08-18 10:12:32 -07:00
nios2 slab updates for 6.5 2023-06-29 16:34:12 -07:00
openrisc openrisc: mm: convert to GENERIC_IOREMAP 2023-08-18 10:12:34 -07:00
parisc parisc: mm: convert to GENERIC_IOREMAP 2023-08-18 10:12:35 -07:00
powerpc powerpc/book3s64/memhotplug: enable memmap on memory for radix 2023-08-21 13:37:49 -07:00
riscv mm/vmemmap optimization: split hugetlb and devdax vmemmap optimization 2023-08-18 10:12:54 -07:00
s390 mm/vmemmap optimization: split hugetlb and devdax vmemmap optimization 2023-08-18 10:12:54 -07:00
sh sh: mm: convert to GENERIC_IOREMAP 2023-08-18 10:12:34 -07:00
sparc sparc: add pte_free_defer() for pte_t *pgtable_t 2023-08-18 10:12:24 -07:00
um arch/*/configs/*defconfig: Replace AUTOFS4_FS by AUTOFS_FS 2023-07-29 14:08:22 -07:00
x86 mm/memory_hotplug: simplify ARCH_MHP_MEMMAP_ON_MEMORY_ENABLE kconfig 2023-08-21 13:37:48 -07:00
xtensa xtensa: mm: convert to GENERIC_IOREMAP 2023-08-18 10:12:35 -07:00
.gitignore
Kconfig - Arnd Bergmann has fixed a bunch of -Wmissing-prototypes in 2023-06-28 10:59:38 -07:00