Skip to content
  • Yanan Wang's avatar
    d55c316f
    hw/arm/virt: Support CPU cluster on ARM virt machine · d55c316f
    Yanan Wang authored
    
    
    ARM64 machines like Kunpeng Family Server Chips have a level
    of hardware topology in which a group of CPU cores share L3
    cache tag or L2 cache. For example, Kunpeng 920 typically
    has 6 or 8 clusters in each NUMA node (also represent range
    of CPU die), and each cluster has 4 CPU cores. All clusters
    share L3 cache data, but CPU cores in each cluster share a
    local L3 tag.
    
    Running a guest kernel with Cluster-Aware Scheduling on the
    Hosts which have physical clusters, if we can design a vCPU
    topology with cluster level for guest kernel and then have
    a dedicated vCPU pinning, the guest will gain scheduling
    performance improvement from cache affinity of CPU cluster.
    
    So let's enable the support for this new parameter on ARM
    virt machines. After this patch, we can define a 4-level
    CPU hierarchy like: cpus=*,maxcpus=*,sockets=*,clusters=*,
    cores=*,threads=*.
    
    Signed-off-by: default avatarYanan Wang <wangyanan55@huawei.com>
    Reviewed-by: default avatarAndrew Jones <drjones@redhat.com>
    Message-id: 20220107083232.16256-2-wangyanan55@huawei.com
    Signed-off-by: default avatarPeter Maydell <peter.maydell@linaro.org>
    d55c316f
    hw/arm/virt: Support CPU cluster on ARM virt machine
    Yanan Wang authored
    
    
    ARM64 machines like Kunpeng Family Server Chips have a level
    of hardware topology in which a group of CPU cores share L3
    cache tag or L2 cache. For example, Kunpeng 920 typically
    has 6 or 8 clusters in each NUMA node (also represent range
    of CPU die), and each cluster has 4 CPU cores. All clusters
    share L3 cache data, but CPU cores in each cluster share a
    local L3 tag.
    
    Running a guest kernel with Cluster-Aware Scheduling on the
    Hosts which have physical clusters, if we can design a vCPU
    topology with cluster level for guest kernel and then have
    a dedicated vCPU pinning, the guest will gain scheduling
    performance improvement from cache affinity of CPU cluster.
    
    So let's enable the support for this new parameter on ARM
    virt machines. After this patch, we can define a 4-level
    CPU hierarchy like: cpus=*,maxcpus=*,sockets=*,clusters=*,
    cores=*,threads=*.
    
    Signed-off-by: default avatarYanan Wang <wangyanan55@huawei.com>
    Reviewed-by: default avatarAndrew Jones <drjones@redhat.com>
    Message-id: 20220107083232.16256-2-wangyanan55@huawei.com
    Signed-off-by: default avatarPeter Maydell <peter.maydell@linaro.org>
Loading