Commit 8c74e4e3 authored by Dapeng Mi's avatar Dapeng Mi Committed by Peter Zijlstra
Browse files

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: default avatarDapeng Mi <dapeng1.mi@linux.intel.com>
Signed-off-by: default avatarPeter Zijlstra (Intel) <peterz@infradead.org>
Link: https://patch.msgid.link/20260114011750.350569-7-dapeng1.mi@linux.intel.com
parent c847a208
Loading
Loading
Loading
Loading
+4 −3
Original line number Diff line number Diff line
@@ -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);
+1 −1
Original line number Diff line number Diff line
@@ -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;
	}
}

+7 −0
Original line number Diff line number Diff line
@@ -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.
 */