[+CC PeterZ]

On 01/17/2017 01:56 PM, Stafford Horne wrote:
> A recent change in -next introduced static_keys in init zonelists,
> details are:
> 
>   Author: Vlastimil Babka <[email protected]>
>   Date:   Thu Jan 12 12:19:03 2017 +1100
>   commit f5adbdff6a1c40e19 ("mm, page_alloc: convert
>   page_group_by_mobility_disable to static key")
> 
> This causes the following warning in openrisc as reported by Guenter,
> and repoduced by me.
> 
>  WARNING: CPU: 0 PID: 0 at ./include/linux/jump_label.h:198 0xc02d758c
>  static_key_slow_inc used before call to jump_label_init
> 
> This fixes this by initialized jump_labels even earlier, I am suprized the
> issue is not showing up in other platforms yet.

AFAICS it depends on how much memory is available at that point. But
maybe I just missed the warning somehow.

Anyway I'm not sure if this patch is safe. Hopefully Peter can judge
this better...

> Cc: Vlastimil Babka <[email protected]>
> Signed-off-by: Stafford Horne <[email protected]>
> ---
>  init/main.c | 3 +--
>  1 file changed, 1 insertion(+), 2 deletions(-)
> 
> diff --git a/init/main.c b/init/main.c
> index 8b1adb6e..d1ca7cb 100644
> --- a/init/main.c
> +++ b/init/main.c
> @@ -513,6 +513,7 @@ asmlinkage __visible void __init start_kernel(void)
>       boot_cpu_state_init();
>       smp_prepare_boot_cpu(); /* arch-specific boot-cpu hooks */
>  
> +     jump_label_init();
>       build_all_zonelists(NULL, NULL);
>       page_alloc_init();
>  
> @@ -526,8 +527,6 @@ asmlinkage __visible void __init start_kernel(void)
>               parse_args("Setting init args", after_dashes, NULL, 0, -1, -1,
>                          NULL, set_init_arg);
>  
> -     jump_label_init();
> -
>       /*
>        * These use large bootmem allocations and must precede
>        * kmem_cache_init()
> 

Reply via email to