• Nathan Lynch's avatar
    powerpc/pseries: remove cede offline state for CPUs · 48f6e7f6
    Nathan Lynch authored
    This effectively reverts commit 3aa565f5 ("powerpc/pseries: Add
    hooks to put the CPU into an appropriate offline state"), which added
    an offline mode for CPUs which uses the H_CEDE hcall instead of the
    architected stop-self RTAS function in order to facilitate "folding"
    of dedicated mode processors on PowerVM platforms to achieve energy
    savings. This has been the default offline mode since its
    introduction.
    
    There's nothing about stop-self that would prevent the hypervisor from
    achieving the energy savings available via H_CEDE, so the original
    premise of this change appears to be flawed.
    
    I also have encountered the claim that the transition to and from
    ceded state is much faster than stop-self/start-cpu. Certainly we
    would not want to use stop-self as an *idle* mode. That is what H_CEDE
    is for. However, this difference is insignificant in the context of
    Linux CPU hotplug, where the latency of an offline or online operation
    on current systems is on the order of 100ms, mainly attributable to
    all the various subsystems' cpuhp callbacks.
    
    The cede offline mode also prevents accurate accounting, as discussed
    before:
    https://lore.kernel.org/linuxppc-dev/1571740391-3251-1-git-send-email-ego@linux.vnet.ibm.com/
    
    Unconditionally use stop-self to offline processor threads. This is
    the architected method for offlining CPUs on PAPR systems.
    
    The "cede_offline" boot parameter is rendered obsolete.
    
    Removing this code enables the removal of the partition suspend code
    which temporarily onlines all present CPUs.
    
    Fixes: 3aa565f5 ("powerpc/pseries: Add hooks to put the CPU into an appropriate offline state")
    Signed-off-by: default avatarNathan Lynch <nathanl@linux.ibm.com>
    Reviewed-by: default avatarGautham R. Shenoy <ego@linux.vnet.ibm.com>
    Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
    Link: https://lore.kernel.org/r/20200612051238.1007764-2-nathanl@linux.ibm.com
    48f6e7f6
hotplug-cpu.c 20 KB