]> git.hungrycats.org Git - linux/commit
perf/x86/amd/uncore: Use Node ID to identify DF and UMC domains
authorSandipan Das <sandipan.das@amd.com>
Mon, 1 Jun 2026 12:13:05 +0000 (17:43 +0530)
committerPeter Zijlstra <peterz@infradead.org>
Thu, 4 Jun 2026 09:38:38 +0000 (11:38 +0200)
commit67d27727854def4a7e2b386429941f5c4741ccc4
tree119becec0793966775559378e6faa322fd6c8474
parent2369ce0f16b89e3d85c9683c06eb104545999378
perf/x86/amd/uncore: Use Node ID to identify DF and UMC domains

For DF and UMC PMUs, a single context is shared across all CPUs that
are connected to the same Data Fabric (DF) instance. Currently, the
Package ID, which also happens to be the Socket ID, is used to identify
DF instances. This approach works for configurations having a single IO
Die (IOD) but fails in the following cases.
  * Older Zen 1 processors, where each chiplet has its own DF instance.
  * Any configurations with multiple DF instances or multiple IODs in
    the same package.

The correct way to identify DF instances is through the Node ID (not to
be confused with NUMA Node ID). This is available in ECX[7:0] of CPUID
leaf 0x8000001e and returned via topology_amd_node_id(). Hence, replace
usage of topology_logical_package_id() with topology_amd_node_id().

Fixes: 07888daa056e ("perf/x86/amd/uncore: Move discovery and registration")
Signed-off-by: Sandipan Das <sandipan.das@amd.com>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Link: https://patch.msgid.link/e7a71a727c6a7b118c23d3e469929c538c4665aa.1780315832.git.sandipan.das@amd.com
arch/x86/events/amd/uncore.c