Message ID | 20250306185124.3147510-1-rppt@kernel.org (mailing list archive) |
---|---|
Headers | show |
Series | arch, mm: reduce code duplication in mem_init() | expand |
On 3/6/25 10:51, Mike Rapoport wrote: > 53 files changed, 151 insertions(+), 618 deletions(-) > delete mode 100644 arch/x86/include/asm/numa_32.h > delete mode 100644 arch/x86/mm/highmem_32.c Holy cow, nice work. For the x86 bits: Acked-by: Dave Hansen <dave.hansen@linux.intel.com>
On Thu, 6 Mar 2025 20:51:10 +0200 Mike Rapoport <rppt@kernel.org> wrote: > Every architecture has implementation of mem_init() function and some > even more than one. All these release free memory to the buddy > allocator, most of them set high_memory to the end of directly > addressable memory and many of them set max_mapnr for FLATMEM case. > > These patches pull the commonalities into the generic code and refactor > some of the mem_init() implementations so that many of them can be just > dropped. Thanks, I added this series to mm.git.
From: "Mike Rapoport (Microsoft)" <rppt@kernel.org> Hi, Every architecture has implementation of mem_init() function and some even more than one. All these release free memory to the buddy allocator, most of them set high_memory to the end of directly addressable memory and many of them set max_mapnr for FLATMEM case. These patches pull the commonalities into the generic code and refactor some of the mem_init() implementations so that many of them can be just dropped. Mike Rapoport (Microsoft) (13): arm: mem_init: use memblock_phys_free() to free DMA memory on SA1111 csky: move setup_initrd() to setup.c hexagon: move initialization of init_mm.context init to paging_init() MIPS: consolidate mem_init() for NUMA machines MIPS: make setup_zero_pages() use memblock nios2: move pr_debug() about memory start and end to setup_arch() s390: make setup_zero_pages() use memblock xtensa: split out printing of virtual memory layout to a function arch, mm: set max_mapnr when allocating memory map for FLATMEM arch, mm: set high_memory in free_area_init() arch, mm: streamline HIGHMEM freeing arch, mm: introduce arch_mm_preinit arch, mm: make releasing of memory to page allocator more explicit arch/alpha/mm/init.c | 8 ---- arch/arc/mm/init.c | 25 +---------- arch/arm/mm/init.c | 43 +------------------ arch/arm/mm/mmu.c | 2 - arch/arm/mm/nommu.c | 1 - arch/arm64/mm/init.c | 12 +----- arch/csky/kernel/setup.c | 43 +++++++++++++++++++ arch/csky/mm/init.c | 67 ------------------------------ arch/hexagon/mm/init.c | 32 ++------------ arch/loongarch/kernel/numa.c | 6 --- arch/loongarch/mm/init.c | 8 ---- arch/m68k/mm/init.c | 4 -- arch/m68k/mm/mcfmmu.c | 1 - arch/m68k/mm/motorola.c | 2 - arch/m68k/sun3/config.c | 1 - arch/microblaze/mm/init.c | 25 ----------- arch/mips/include/asm/mmzone.h | 2 - arch/mips/loongson64/numa.c | 7 ---- arch/mips/mm/init.c | 49 ++++------------------ arch/mips/sgi-ip27/ip27-memory.c | 9 ---- arch/nios2/kernel/setup.c | 3 +- arch/nios2/mm/init.c | 16 +------ arch/openrisc/mm/init.c | 6 --- arch/parisc/mm/init.c | 4 -- arch/powerpc/kernel/setup-common.c | 3 -- arch/powerpc/mm/mem.c | 18 +------- arch/riscv/mm/init.c | 5 +-- arch/s390/mm/init.c | 18 +------- arch/sh/mm/init.c | 10 ----- arch/sparc/mm/init_32.c | 31 +------------- arch/sparc/mm/init_64.c | 4 -- arch/um/include/shared/mem_user.h | 1 - arch/um/kernel/mem.c | 9 ++-- arch/um/kernel/physmem.c | 12 ------ arch/um/kernel/um_arch.c | 2 - arch/x86/include/asm/highmem.h | 3 -- arch/x86/include/asm/numa.h | 4 -- arch/x86/include/asm/numa_32.h | 13 ------ arch/x86/kernel/setup.c | 2 - arch/x86/mm/Makefile | 2 - arch/x86/mm/highmem_32.c | 34 --------------- arch/x86/mm/init_32.c | 41 ++---------------- arch/x86/mm/init_64.c | 7 ++-- arch/x86/mm/numa_32.c | 3 -- arch/xtensa/mm/init.c | 66 +++++++---------------------- include/asm-generic/memory_model.h | 5 ++- include/linux/memblock.h | 1 - include/linux/mm.h | 13 +----- mm/internal.h | 3 +- mm/memblock.c | 3 +- mm/memory.c | 16 ------- mm/mm_init.c | 58 ++++++++++++++++++++++---- mm/nommu.c | 6 --- 53 files changed, 151 insertions(+), 618 deletions(-) delete mode 100644 arch/x86/include/asm/numa_32.h delete mode 100644 arch/x86/mm/highmem_32.c base-commit: d082ecbc71e9e0bf49883ee4afd435a77a5101b6