lkml.org 
[lkml]   [2018]   [May]   [28]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 3.18 071/185] x86/topology: Update the cpu cores field in /proc/cpuinfo correctly across CPU hotplug operations
    Date
    3.18-stable review patch.  If anyone has any objections, please let me know.

    ------------------

    From: Samuel Neves <sneves@dei.uc.pt>

    [ Upstream commit 4596749339e06dc7a424fc08a15eded850ed78b7 ]

    Without this fix, /proc/cpuinfo will display an incorrect amount
    of CPU cores, after bringing them offline and online again, as
    exemplified below:

    $ cat /proc/cpuinfo | grep cores
    cpu cores : 4
    cpu cores : 8
    cpu cores : 8
    cpu cores : 20
    cpu cores : 4
    cpu cores : 3
    cpu cores : 2
    cpu cores : 2

    This patch fixes this by always zeroing the booted_cores variable
    upon turning off a logical CPU.

    Tested-by: Dou Liyang <douly.fnst@cn.fujitsu.com>
    Signed-off-by: Samuel Neves <sneves@dei.uc.pt>
    Cc: Linus Torvalds <torvalds@linux-foundation.org>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Thomas Gleixner <tglx@linutronix.de>
    Cc: jgross@suse.com
    Cc: luto@kernel.org
    Cc: prarit@redhat.com
    Cc: vkuznets@redhat.com
    Link: http://lkml.kernel.org/r/20180221205036.5244-1-sneves@dei.uc.pt
    Signed-off-by: Ingo Molnar <mingo@kernel.org>
    Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    ---
    arch/x86/kernel/smpboot.c | 1 +
    1 file changed, 1 insertion(+)

    --- a/arch/x86/kernel/smpboot.c
    +++ b/arch/x86/kernel/smpboot.c
    @@ -1290,6 +1290,7 @@ static void remove_siblinginfo(int cpu)
    cpumask_clear(cpu_core_mask(cpu));
    c->phys_proc_id = 0;
    c->cpu_core_id = 0;
    + c->booted_cores = 0;
    cpumask_clear_cpu(cpu, cpu_sibling_setup_mask);
    }


    \
     
     \ /
      Last update: 2018-05-28 18:29    [W:4.179 / U:0.308 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site