summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLen Brown <len.brown@intel.com>2026-02-08 18:25:51 +0300
committerLen Brown <len.brown@intel.com>2026-02-13 17:53:17 +0300
commit5e160646f4dbca7cf9cc09abc31a22931e362b8a (patch)
tree82391dd85669ffea8801cb5dce7854e1412eae06
parent4aaf7d07a089696e16e1ca70c2d501dc8a2224a4 (diff)
downloadlinux-5e160646f4dbca7cf9cc09abc31a22931e362b8a.tar.xz
tools/power turbostat: Rename physical_core_id to core_id
The Linux Kernel topology sysfs is flawed. core_id is not globally unique, but is per-package. Turbostat works around this when it needs to, with rapl_core_id = cpus[cpu].core_id; rapl_core_id += cpus[cpu].package_id * nr_cores_per_package Otherwise, turbostat handles core_id as subservient to each package. As there is only one core_id namespace, rename physical_core_id to simply be core_id. No functional change. Signed-off-by: Len Brown <len.brown@intel.com>
-rw-r--r--tools/power/x86/turbostat/turbostat.c20
1 files changed, 10 insertions, 10 deletions
diff --git a/tools/power/x86/turbostat/turbostat.c b/tools/power/x86/turbostat/turbostat.c
index 74d9f9e21e94..9f93efafbf94 100644
--- a/tools/power/x86/turbostat/turbostat.c
+++ b/tools/power/x86/turbostat/turbostat.c
@@ -2394,13 +2394,13 @@ struct platform_counters {
} platform_counters_odd, platform_counters_even;
struct cpu_topology {
+ int core_id;
int package_id;
int die_id;
int l3_id;
int logical_cpu_id;
int physical_node_id;
int logical_node_id; /* 0-based count within the package */
- int physical_core_id;
int thread_id;
int type;
cpu_set_t *put_ids; /* Processing Unit/Thread IDs */
@@ -2658,7 +2658,7 @@ unsigned int cpu_to_domain(const struct perf_counter_info *pc, int cpu)
return cpu;
case SCOPE_CORE:
- return cpus[cpu].physical_core_id;
+ return cpus[cpu].core_id;
case SCOPE_PACKAGE:
return cpus[cpu].package_id;
@@ -5180,7 +5180,7 @@ static inline int get_rapl_domain_id(int cpu)
return cpus[cpu].package_id;
/* Compute the system-wide unique core-id for @cpu */
- rapl_core_id = cpus[cpu].physical_core_id;
+ rapl_core_id = cpus[cpu].core_id;
rapl_core_id += cpus[cpu].package_id * nr_cores_per_package;
return rapl_core_id;
@@ -6216,7 +6216,7 @@ int get_thread_siblings(struct cpu_topology *thiscpu)
if ((map >> shift) & 0x1) {
so = shift + offset;
sib_core = get_core_id(so);
- if (sib_core == thiscpu->physical_core_id) {
+ if (sib_core == thiscpu->core_id) {
CPU_SET_S(so, size, thiscpu->put_ids);
if ((so != cpu) && (cpus[so].thread_id < 0))
cpus[so].thread_id = thread_id++;
@@ -8948,7 +8948,7 @@ void cstate_perf_init_(bool soft_c1)
if (cpu_is_not_allowed(cpu))
continue;
- const int core_id = cpus[cpu].physical_core_id;
+ const int core_id = cpus[cpu].core_id;
const int pkg_id = cpus[cpu].package_id;
assert(core_id < cores_visited_elems);
@@ -9629,9 +9629,9 @@ void topology_probe(bool startup)
topo.max_node_num = cpus[i].physical_node_id;
/* get core information */
- cpus[i].physical_core_id = get_core_id(i);
- if (cpus[i].physical_core_id > max_core_id)
- max_core_id = cpus[i].physical_core_id;
+ cpus[i].core_id = get_core_id(i);
+ if (cpus[i].core_id > max_core_id)
+ max_core_id = cpus[i].core_id;
/* get thread information */
siblings = get_thread_siblings(&cpus[i]);
@@ -9683,7 +9683,7 @@ void topology_probe(bool startup)
fprintf(outf,
"cpu %d pkg %d die %d l3 %d node %d lnode %d core %d thread %d\n",
i, cpus[i].package_id, cpus[i].die_id, cpus[i].l3_id,
- cpus[i].physical_node_id, cpus[i].logical_node_id, cpus[i].physical_core_id, cpus[i].thread_id);
+ cpus[i].physical_node_id, cpus[i].logical_node_id, cpus[i].core_id, cpus[i].thread_id);
}
}
@@ -9731,7 +9731,7 @@ void init_counter(struct thread_data *thread_base, struct core_data *core_base,
{
int pkg_id = cpus[cpu_id].package_id;
int node_id = cpus[cpu_id].logical_node_id;
- int core_id = cpus[cpu_id].physical_core_id;
+ int core_id = cpus[cpu_id].core_id;
int thread_id = cpus[cpu_id].thread_id;
struct thread_data *t;
struct core_data *c;