Re: [PATCH v2 00/15] init_mm: cleanup ARCH's text/data/brk setup code

From: Mike Rapoport
Date: Sun Jun 06 2021 - 17:33:12 EST


Hello Kefeng,

On Fri, Jun 04, 2021 at 03:06:18PM +0800, Kefeng Wang wrote:
> Add setup_initial_init_mm() helper, then use it
> to cleanup the text, data and brk setup code.
>
> v2:
> - change argument from "char *" to "void *" setup_initial_init_mm()
> suggested by Geert Uytterhoeven
> - use NULL instead of (void *)0 on h8300 and m68k
> - collect ACKs
>
> Cc: linux-snps-arc@xxxxxxxxxxxxxxxxxxx
> Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx
> Cc: linux-csky@xxxxxxxxxxxxxxx
> Cc: uclinux-h8-devel@xxxxxxxxxxxxxxxxxxxx
> Cc: linux-m68k@xxxxxxxxxxxxxxxxxxxx
> Cc: openrisc@xxxxxxxxxxxxxxxxxxxx
> Cc: linuxppc-dev@xxxxxxxxxxxxxxxx
> Cc: linux-riscv@xxxxxxxxxxxxxxxxxxx
> Cc: linux-sh@xxxxxxxxxxxxxxx
> Cc: linux-s390@xxxxxxxxxxxxxxx
> Kefeng Wang (15):
> mm: add setup_initial_init_mm() helper
> arc: convert to setup_initial_init_mm()
> arm: convert to setup_initial_init_mm()
> arm64: convert to setup_initial_init_mm()
> csky: convert to setup_initial_init_mm()
> h8300: convert to setup_initial_init_mm()
> m68k: convert to setup_initial_init_mm()
> nds32: convert to setup_initial_init_mm()
> nios2: convert to setup_initial_init_mm()
> openrisc: convert to setup_initial_init_mm()
> powerpc: convert to setup_initial_init_mm()
> riscv: convert to setup_initial_init_mm()
> s390: convert to setup_initial_init_mm()
> sh: convert to setup_initial_init_mm()
> x86: convert to setup_initial_init_mm()

I might be missing something, but AFAIU the init_mm.start_code and other
fields are not used really early so the new setup_initial_init_mm()
function can be called in the generic code outside setup_arch(), e.g in
mm_init().

> arch/arc/mm/init.c | 5 +----
> arch/arm/kernel/setup.c | 5 +----
> arch/arm64/kernel/setup.c | 5 +----
> arch/csky/kernel/setup.c | 5 +----
> arch/h8300/kernel/setup.c | 5 +----
> arch/m68k/kernel/setup_mm.c | 5 +----
> arch/m68k/kernel/setup_no.c | 5 +----
> arch/nds32/kernel/setup.c | 5 +----
> arch/nios2/kernel/setup.c | 5 +----
> arch/openrisc/kernel/setup.c | 5 +----
> arch/powerpc/kernel/setup-common.c | 5 +----
> arch/riscv/kernel/setup.c | 5 +----
> arch/s390/kernel/setup.c | 5 +----
> arch/sh/kernel/setup.c | 5 +----
> arch/x86/kernel/setup.c | 5 +----
> include/linux/mm_types.h | 8 ++++++++
> 16 files changed, 23 insertions(+), 60 deletions(-)
>
> --
> 2.26.2
>
>
> _______________________________________________
> linux-riscv mailing list
> linux-riscv@xxxxxxxxxxxxxxxxxxx
> http://lists.infradead.org/mailman/listinfo/linux-riscv

--
Sincerely yours,
Mike.