• S
    x86: silence section mismatch warning in smpboot_64.c · 69e97c02
    Sam Ravnborg 提交于
    Silence the following warning:
    WARNING: o-x86_64/arch/x86/kernel/built-in.o(.text+0x17cd3): Section mismatch in reference from the function remove_cpu_from_maps() to the variable .cpuinit.data:cpu_initialized
    
    remove_cpu:maps() had a single user: __cpu_disable() so
    mark it static and annotate it with __ref to silence the
    warning from modpost.
    
    _cpu_disable() has a single user in kernel/cpu.c:
     => take_cpu_down()
        which again has a single user in the following call:
        => __stop_machine_run(take_cpu_down, &tcd_param, cpu);
    Here a kthread is created.
    
    So maybe the warning is correct and the right fix is to
    remove the __cpuinitdata annotation of cpu_initialized?
    
    Note: The analysis were disturbed by the fact that we had a variable
          with the same name in cpu/common.c - but this is 32 bit only]
    Note: Should smpboot_64 use cpu_clear()?
    Signed-off-by: NSam Ravnborg <sam@ravnborg.org>
    Cc: "H. Peter Anvin" <hpa@zytor.com>
    Signed-off-by: NIngo Molnar <mingo@elte.hu>
    69e97c02
smpboot_64.c 26.8 KB