lkml.org 
[lkml]   [2017]   [Jan]   [17]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [PATCH -next] init/main: Init jump_labels before they are used to build zonelists
From
Date
[+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 <vbabka@suse.cz>
> 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 <vbabka@suse.cz>
> Signed-off-by: Stafford Horne <shorne@gmail.com>
> ---
> 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()
>

\
 
 \ /
  Last update: 2017-01-17 14:08    [W:0.045 / U:0.832 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site