• Jeremy Linton's avatar
    arm64: topology: Avoid checking numa mask for scheduler MC selection · e156ab71
    Jeremy Linton authored
    The numa mask subset check can often lead to system hang or crash during
    CPU hotplug and system suspend operation if NUMA is disabled. This is
    mostly observed on HMP systems where the CPU compute capacities are
    different and ends up in different scheduler domains. Since
    cpumask_of_node is returned instead core_sibling, the scheduler is
    confused with incorrect cpumasks(e.g. one CPU in two different sched
    domains at the same time) on CPU hotplug.
    
    Lets disable the NUMA siblings checks for the time being, as NUMA in
    socket machines have LLC's that will assure that the scheduler topology
    isn't "borken".
    
    The NUMA check exists to assure that if a LLC within a socket crosses
    NUMA nodes/chiplets the scheduler domains remain consistent. This code will
    likely have to be re-enabled in the near future once the NUMA mask story
    is sorted.  At the moment its not necessary because the NUMA in socket
    machines LLC's are contained within the NUMA domains.
    
    Further, as a defensive mechanism during hot-plug, lets assure that the
    LLC siblings are also masked.
    Reported-by: default avatarGeert Uytterhoeven <geert@linux-m68k.org>
    Reviewed-by: default avatarSudeep Holla <sudeep.holla@arm.com>
    Tested-by: default avatarGeert Uytterhoeven <geert+renesas@glider.be>
    Signed-off-by: default avatarJeremy Linton <jeremy.linton@arm.com>
    Signed-off-by: default avatarCatalin Marinas <catalin.marinas@arm.com>
    e156ab71
topology.c 8.5 KB