Sandipan Das d6389d3ccc perf/x86/amd/uncore: Refactor uncore management
Since struct amd_uncore is used to manage per-cpu contexts, rename it to
amd_uncore_ctx in order to better reflect its purpose. Add a new struct
amd_uncore_pmu to encapsulate all attributes which are shared by per-cpu
contexts for a corresponding PMU. These include the number of counters,
active mask, MSR and RDPMC base addresses, etc. Since the struct pmu is
now embedded, the corresponding amd_uncore_pmu for a given event can be
found by simply using container_of().

Finally, move all PMU-specific code to separate functions. While the
original event management functions continue to provide the base
functionality, all PMU-specific quirks and customizations are applied in
separate functions.

The motivation is to simplify the management of uncore PMUs.

Signed-off-by: Sandipan Das <sandipan.das@amd.com>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Link: https://lore.kernel.org/r/24b38c49a5dae65d8c96e5d75a2b96ae97aaa651.1696425185.git.sandipan.das@amd.com
2023-10-09 16:12:23 +02:00
..
2023-09-04 11:26:29 -07:00
2023-09-18 19:30:08 +02:00
2023-08-31 12:20:12 -07:00
2023-08-30 20:23:07 -07:00
2023-09-17 09:49:03 +02:00
2023-04-08 13:45:37 -07:00
2023-08-26 22:40:37 +02:00
2023-09-19 07:04:49 +02:00
2023-05-15 20:03:08 +02:00
2023-09-05 11:01:47 -07:00