summaryrefslogtreecommitdiff
path: root/tools/perf/scripts/python
diff options
context:
space:
mode:
authorAndrea Righi <arighi@nvidia.com>2026-09-27 15:37:19 +0200
committerTejun Heo <tj@kernel.org>2026-09-28 08:40:22 -1000
commit80b97ad2dfd8c812596ca86821cbe68f496da13d (patch)
treeb220d0d82a9944d0dc66b58963f1cc2cf9c52ad2 /tools/perf/scripts/python
parent9fa10e3bc7ec61010aa91cfca6118218e3bab773 (diff)
downloadlinux-next-80b97ad2dfd8c812596ca86821cbe68f496da13d.tar.gz
linux-next-80b97ad2dfd8c812596ca86821cbe68f496da13d.zip
sched_ext: cid: Represent clusters explicitly
The sched_ext CID topology gives each core, LLC and NUMA node a contiguous CID range. Without cluster entries, schedulers cannot obtain their CID range or global index. Walk cores by cache-sharing cluster and add cluster_cid and cluster_idx to scx_cid_topo. Treat the level inclusively: a core without a wider cluster forms one of its own, while an LLC-wide cache-sharing group forms one cluster. This gives every cluster a contiguous CID range and a dense index. The walk now takes cores in cluster order rather than LLC order. Shards are still cut on core boundaries, so a shard doesn't need to contain a whole cluster; only core, cluster, LLC and node are nested, in that order. The level follows whatever the arch reports through topology_cluster_cpumask(), which on x86 is the L2 sharing mask and is populated independently of CONFIG_SCHED_CLUSTER. Tested on a 13th Gen Intel Core i7-13800H: six SMT P-cores occupy CPUs 0-11, eight E-cores occupy CPUs 12-19 in two four-core L2 modules, and all 20 CPUs share one LLC; the P-core pairs form two-CID clusters, the E-core modules form four-CID clusters, and cluster_idx is dense across all eight clusters. Signed-off-by: Andrea Righi <arighi@nvidia.com> Signed-off-by: Tejun Heo <tj@kernel.org>
Diffstat (limited to 'tools/perf/scripts/python')
0 files changed, 0 insertions, 0 deletions