mirror of
https://github.com/torvalds/linux.git
synced 2026-05-23 14:42:08 +02:00
perf/x86: Use macros to replace magic numbers in attr_rdpmc
Replace magic numbers in attr_rdpmc with macros to improve readability and make their meanings clearer for users. Signed-off-by: Dapeng Mi <dapeng1.mi@linux.intel.com> Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org> Link: https://patch.msgid.link/20260114011750.350569-7-dapeng1.mi@linux.intel.com
This commit is contained in:
parent
c847a208f4
commit
8c74e4e3e0
|
|
@ -2163,7 +2163,8 @@ static int __init init_hw_perf_events(void)
|
|||
|
||||
pr_cont("%s PMU driver.\n", x86_pmu.name);
|
||||
|
||||
x86_pmu.attr_rdpmc = 1; /* enable userspace RDPMC usage by default */
|
||||
/* enable userspace RDPMC usage by default */
|
||||
x86_pmu.attr_rdpmc = X86_USER_RDPMC_CONDITIONAL_ENABLE;
|
||||
|
||||
for (quirk = x86_pmu.quirks; quirk; quirk = quirk->next)
|
||||
quirk->func();
|
||||
|
|
@ -2643,12 +2644,12 @@ static ssize_t set_attr_rdpmc(struct device *cdev,
|
|||
*/
|
||||
if (val == 0)
|
||||
static_branch_inc(&rdpmc_never_available_key);
|
||||
else if (x86_pmu.attr_rdpmc == 0)
|
||||
else if (x86_pmu.attr_rdpmc == X86_USER_RDPMC_NEVER_ENABLE)
|
||||
static_branch_dec(&rdpmc_never_available_key);
|
||||
|
||||
if (val == 2)
|
||||
static_branch_inc(&rdpmc_always_available_key);
|
||||
else if (x86_pmu.attr_rdpmc == 2)
|
||||
else if (x86_pmu.attr_rdpmc == X86_USER_RDPMC_ALWAYS_ENABLE)
|
||||
static_branch_dec(&rdpmc_always_available_key);
|
||||
|
||||
on_each_cpu(cr4_update_pce, NULL, 1);
|
||||
|
|
|
|||
|
|
@ -243,7 +243,7 @@ static __init void p6_pmu_rdpmc_quirk(void)
|
|||
*/
|
||||
pr_warn("Userspace RDPMC support disabled due to a CPU erratum\n");
|
||||
x86_pmu.attr_rdpmc_broken = 1;
|
||||
x86_pmu.attr_rdpmc = 0;
|
||||
x86_pmu.attr_rdpmc = X86_USER_RDPMC_NEVER_ENABLE;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -187,6 +187,13 @@ struct amd_nb {
|
|||
(1ULL << PERF_REG_X86_R14) | \
|
||||
(1ULL << PERF_REG_X86_R15))
|
||||
|
||||
/* user space rdpmc control values */
|
||||
enum {
|
||||
X86_USER_RDPMC_NEVER_ENABLE = 0,
|
||||
X86_USER_RDPMC_CONDITIONAL_ENABLE = 1,
|
||||
X86_USER_RDPMC_ALWAYS_ENABLE = 2,
|
||||
};
|
||||
|
||||
/*
|
||||
* Per register state.
|
||||
*/
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user