On 12/29/21 14:04, wangyanan (Y) wrote: > > On 2021/12/29 18:44, Philippe Mathieu-Daudé wrote: >> On 12/29/21 04:48, wangyanan (Y) wrote: >>> Hi Philippe, >>> Thanks for your review. >>> >>> On 2021/12/29 3:17, Philippe Mathieu-Daudé wrote: >>>> Hi, >>>> >>>> On 12/28/21 10:22, Yanan Wang wrote: >>>>> The new Cluster-Aware Scheduling support has landed in Linux 5.16, >>>>> which has been proved to benefit the scheduling performance (e.g. >>>>> load balance and wake_affine strategy) on both x86_64 and AArch64. >>>>> >>>>> So now in Linux 5.16 we have four-level arch-neutral CPU topology >>>>> definition like below and a new scheduler level for clusters. >>>>> struct cpu_topology { >>>>> int thread_id; >>>>> int core_id; >>>>> int cluster_id; >>>>> int package_id; >>>>> int llc_id; >>>>> cpumask_t thread_sibling; >>>>> cpumask_t core_sibling; >>>>> cpumask_t cluster_sibling; >>>>> cpumask_t llc_sibling; >>>>> } >>>>> >>>>> A cluster generally means a group of CPU cores which share L2 cache >>>>> or other mid-level resources, and it is the shared resources that >>>>> is used to improve scheduler's behavior. From the point of view of >>>>> the size range, it's between CPU die and CPU core. For example, on >>>>> some ARM64 Kunpeng servers, we have 6 clusters in each NUMA node, >>>>> and 4 CPU cores in each cluster. The 4 CPU cores share a separate >>>>> L2 cache and a L3 cache tag, which brings cache affinity advantage. >>>>> >>>>> In virtualization, on the Hosts which have pClusters, if we can >>>> Maybe [*] -> reference to pClusters? >>> Hm, I'm not sure what kind of reference is appropriate here. >> So I guess the confusion comes from a simple typo =) > I tried to mean "physical clusters" on host by pClusters, on the contrary > to "virtual clusters" on guest. But obviously it brings confusion.
OK, I got confused because you don't use "vClusters". >> Is it OK if I replace "pClusters" by "Clusters"? > Sure, it's clearer to just use "clusters", please do that. OK.