STRUCT HISI_PMU_TOPOLOGY(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… struct hisi_pmu_topology (Kernel API Manual, section 9)

okay so bestie, welcome to the manual page for struct hisi_pmu_topology β€” yes it's a kernel struct, yes it's from the hisilicon perf drivers, and yes we're gonna get through it together 🫢


✨ NAME ✨

struct hisi_pmu_topology β€” literally just here to describe the topology hierarchy that the PMU is chillin' on. that's it. that's the whole job πŸ’–


🌸 SYNOPSIS 🌸

struct hisi_pmu_topology {
    union {
      int sccl_id;
      int sicl_id;
      int scl_id;
    };
    int ccl_id;
    int index_id;
    int sub_id;
 };

so pretty, so simple. but wait β€” there's a union in there and it's anonymous, which is giving "i have secrets" energy πŸ‘€


πŸŽ€ Members πŸŽ€

  • {unnamed_union} β€” the anonymous one. no name, all vibes. it's the group chat with no title πŸ’€
  • sccl_id β€” the ID of the SCCL that the PMU locate is located on. (yes, the original really does say "locate", and honestly? iconic typo, we stan πŸ™ˆ)
  • sicl_id β€” the ID of the SICL that the PMU locate is located on. same energy, different acronym ✨
  • scl_id β€” the ID that's used by the core which is completely unaware of the SCCL/SICL. like that friend who never knows what's going on and we love her for it πŸ¦‹
  • ccl_id β€” the ID of the CCL (that's the CPU cluster btw) that the PMU is located on. very main character, very "this is my cluster" πŸ‘‘
  • index_id β€” the ID of the PMU module, and here's the tea: you only need this if there are several PMUs at a particularly location in the topology. so it's the "which one of us is it" field 😭
  • sub_id β€” the submodule ID of the PMU. for example, we use this for DDRC PMU v2 since each DDRC has more than one DMC. yes, that's a lot of acronyms, no, i will not be explaining them further, the man page doesn't either πŸ’…

πŸ¦‹ Description πŸ¦‹

okay so the one thing you HAVE to remember: the ID will be -1 if the PMU isn't located on a certain topology. no cap. that's the whole description and honestly it's the most important bit.

fr fr, -1 means "not on this topology" β€” don't go reading it as a real ID, bestie 😭

🌈 SEE ALSO 🌈

  • Kernel file ./drivers/perf/hisilicon/hisi_uncore_pmu.h β€” go read the source, it's the vibe 🌸

and that's the page!! huge shoutout to ./drivers/perf/hisilicon β€” that's the source/version situation β€” dated October 2026, and this was struct hisi_pmu_topology(9) the whole time πŸ’œβœ¨ slay, go read your topology IDs responsibly πŸŽ€

πŸ“¦ where this page comes from