On Fri, 2 Apr 2021 09:38:02 +0530 Anup Patel <anup@xxxxxxxxxxxxxx> wrote: > > > On Wed, Mar 31, 2021 at 10:00 PM Jisheng Zhang > <jszhang3@xxxxxxxxxxxxxxxx> wrote: > > > > From: Jisheng Zhang <jszhang@xxxxxxxxxx> > > > > They are not needed after booting, so mark them as __init to move them > > to the __init section. > > > > Signed-off-by: Jisheng Zhang <jszhang@xxxxxxxxxx> > > --- > > arch/riscv/kernel/traps.c | 2 +- > > arch/riscv/mm/init.c | 6 +++--- > > arch/riscv/mm/kasan_init.c | 6 +++--- > > arch/riscv/mm/ptdump.c | 2 +- > > 4 files changed, 8 insertions(+), 8 deletions(-) > > > > diff --git a/arch/riscv/kernel/traps.c b/arch/riscv/kernel/traps.c > > index 1357abf79570..07fdded10c21 100644 > > --- a/arch/riscv/kernel/traps.c > > +++ b/arch/riscv/kernel/traps.c > > @@ -197,6 +197,6 @@ int is_valid_bugaddr(unsigned long pc) > > #endif /* CONFIG_GENERIC_BUG */ > > > > /* stvec & scratch is already set from head.S */ > > -void trap_init(void) > > +void __init trap_init(void) > > { > > } > > The trap_init() is unused currently so you can drop this change > and remove trap_init() as a separate patch. the kernel init/main.c expects a trap_init() implementation in architecture code. Some architecture's implementation is NULL, similar as riscv, for example, arm, powerpc and so on. However I think you are right, the trap_init() can be removed, we need a trivial series to provide a __weak but NULL trap_init() implementation in init/main.c then remove all NULL implementation from all arch. I can take the task to do the clean up. > > > diff --git a/arch/riscv/mm/init.c b/arch/riscv/mm/init.c > > index 067583ab1bd7..76bf2de8aa59 100644 > > --- a/arch/riscv/mm/init.c > > +++ b/arch/riscv/mm/init.c > > @@ -57,7 +57,7 @@ static void __init zone_sizes_init(void) > > free_area_init(max_zone_pfns); > > } > > > > -static void setup_zero_page(void) > > +static void __init setup_zero_page(void) > > { > > memset((void *)empty_zero_page, 0, PAGE_SIZE); I think the zero page is already initialized as "0" because empty_zero_page sits in .bss section. So this setup_zero_page() function can be removed. I will send a newer version later. thanks