lkml.org 
[lkml]   [2020]   [Dec]   [28]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.4 347/453] s390/smp: perform initial CPU reset also for SMT siblings
    Date
    From: Sven Schnelle <svens@linux.ibm.com>

    commit b5e438ebd7e808d1d2435159ac4742e01a94b8da upstream.

    Not resetting the SMT siblings might leave them in unpredictable
    state. One of the observed problems was that the CPU timer wasn't
    reset and therefore large system time values where accounted during
    CPU bringup.

    Cc: <stable@kernel.org> # 4.0
    Fixes: 10ad34bc76dfb ("s390: add SMT support")
    Reviewed-by: Heiko Carstens <hca@linux.ibm.com>
    Signed-off-by: Sven Schnelle <svens@linux.ibm.com>
    Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

    ---
    arch/s390/kernel/smp.c | 18 +++---------------
    1 file changed, 3 insertions(+), 15 deletions(-)

    --- a/arch/s390/kernel/smp.c
    +++ b/arch/s390/kernel/smp.c
    @@ -885,24 +885,12 @@ static void __no_sanitize_address smp_st
    /* Upping and downing of CPUs */
    int __cpu_up(unsigned int cpu, struct task_struct *tidle)
    {
    - struct pcpu *pcpu;
    - int base, i, rc;
    + struct pcpu *pcpu = pcpu_devices + cpu;
    + int rc;

    - pcpu = pcpu_devices + cpu;
    if (pcpu->state != CPU_STATE_CONFIGURED)
    return -EIO;
    - base = smp_get_base_cpu(cpu);
    - for (i = 0; i <= smp_cpu_mtid; i++) {
    - if (base + i < nr_cpu_ids)
    - if (cpu_online(base + i))
    - break;
    - }
    - /*
    - * If this is the first CPU of the core to get online
    - * do an initial CPU reset.
    - */
    - if (i > smp_cpu_mtid &&
    - pcpu_sigp_retry(pcpu_devices + base, SIGP_INITIAL_CPU_RESET, 0) !=
    + if (pcpu_sigp_retry(pcpu, SIGP_INITIAL_CPU_RESET, 0) !=
    SIGP_CC_ORDER_CODE_ACCEPTED)
    return -EIO;


    \
     
     \ /
      Last update: 2020-12-28 16:36    [W:4.114 / U:0.760 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site