On Thu 19-05-16 15:13:26, Yang Shi wrote:
[...]
> diff --git a/init/main.c b/init/main.c
> index b3c6e36..2075faf 100644
> --- a/init/main.c
> +++ b/init/main.c
> @@ -606,7 +606,6 @@ asmlinkage __visible void __init start_kernel(void)
>               initrd_start = 0;
>       }
>  #endif
> -     page_ext_init();
>       debug_objects_mem_init();
>       kmemleak_init();
>       setup_per_cpu_pageset();
> @@ -1004,6 +1003,8 @@ static noinline void __init kernel_init_freeable(void)
>       sched_init_smp();
>  
>       page_alloc_init_late();
> +     /* Initialize page ext after all struct pages are initializaed */
> +     page_ext_init();
>  
>       do_basic_setup();

I might be missing something but don't we have the same problem with
CONFIG_FLATMEM? page_ext_init_flatmem is called way earlier. Or
CONFIG_DEFERRED_STRUCT_PAGE_INIT is never enabled for CONFIG_FLATMEM?
-- 
Michal Hocko
SUSE Labs

Reply via email to