Skip to content
  • Jeremy Linton's avatar
    arm64: topology: divorce MC scheduling domain from core_siblings · 5f596501
    Jeremy Linton authored
    
    
    Now that we have an accurate view of the physical topology
    we need to represent it correctly to the scheduler. In the
    case of NUMA in socket, we need to assure that the sched domain
    we build for the MC layer isn't larger than the DIE above it.
    To do this correctly, we should really base that on the cache
    topology immediately below the NUMA node (for NUMA in socket)
    or below the physical package for normal NUMA configurations.
    
    This patch creates a set of early cache_siblings masks, then
    when the scheduler requests the coregroup mask we pick the
    smaller of the physical package siblings, or the numa siblings
    and locate the largest cache which is an entire subset of
    those siblings. If we are unable to find a proper subset of
    cores then we retain the original behavior and return the
    core_sibling list.
    
    Signed-off-by: default avatarJeremy Linton <jeremy.linton@arm.com>
    5f596501