Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit fe504213 authored by Christoph Lameter's avatar Christoph Lameter Committed by Tejun Heo
Browse files

x86: Use this_cpu_has for thermal_interrupt current cpu



It is more effective to use a segment prefix instead of calculating the
address of the current cpu area amd then testing flags.

Signed-off-by: default avatarChristoph Lameter <cl@linux.com>
Acked-by: default avatarTejun Heo <tj@kernel.org>
Signed-off-by: default avatarTejun Heo <tj@kernel.org>
parent 349c004e
Loading
Loading
Loading
Loading
+3 −4
Original line number Original line Diff line number Diff line
@@ -355,7 +355,6 @@ static void notify_thresholds(__u64 msr_val)
static void intel_thermal_interrupt(void)
static void intel_thermal_interrupt(void)
{
{
	__u64 msr_val;
	__u64 msr_val;
	struct cpuinfo_x86 *c = &cpu_data(smp_processor_id());


	rdmsrl(MSR_IA32_THERM_STATUS, msr_val);
	rdmsrl(MSR_IA32_THERM_STATUS, msr_val);


@@ -367,19 +366,19 @@ static void intel_thermal_interrupt(void)
				CORE_LEVEL) != 0)
				CORE_LEVEL) != 0)
		mce_log_therm_throt_event(CORE_THROTTLED | msr_val);
		mce_log_therm_throt_event(CORE_THROTTLED | msr_val);


	if (cpu_has(c, X86_FEATURE_PLN))
	if (this_cpu_has(X86_FEATURE_PLN))
		if (therm_throt_process(msr_val & THERM_STATUS_POWER_LIMIT,
		if (therm_throt_process(msr_val & THERM_STATUS_POWER_LIMIT,
					POWER_LIMIT_EVENT,
					POWER_LIMIT_EVENT,
					CORE_LEVEL) != 0)
					CORE_LEVEL) != 0)
			mce_log_therm_throt_event(CORE_POWER_LIMIT | msr_val);
			mce_log_therm_throt_event(CORE_POWER_LIMIT | msr_val);


	if (cpu_has(c, X86_FEATURE_PTS)) {
	if (this_cpu_has(X86_FEATURE_PTS)) {
		rdmsrl(MSR_IA32_PACKAGE_THERM_STATUS, msr_val);
		rdmsrl(MSR_IA32_PACKAGE_THERM_STATUS, msr_val);
		if (therm_throt_process(msr_val & PACKAGE_THERM_STATUS_PROCHOT,
		if (therm_throt_process(msr_val & PACKAGE_THERM_STATUS_PROCHOT,
					THERMAL_THROTTLING_EVENT,
					THERMAL_THROTTLING_EVENT,
					PACKAGE_LEVEL) != 0)
					PACKAGE_LEVEL) != 0)
			mce_log_therm_throt_event(PACKAGE_THROTTLED | msr_val);
			mce_log_therm_throt_event(PACKAGE_THROTTLED | msr_val);
		if (cpu_has(c, X86_FEATURE_PLN))
		if (this_cpu_has(X86_FEATURE_PLN))
			if (therm_throt_process(msr_val &
			if (therm_throt_process(msr_val &
					PACKAGE_THERM_STATUS_POWER_LIMIT,
					PACKAGE_THERM_STATUS_POWER_LIMIT,
					POWER_LIMIT_EVENT,
					POWER_LIMIT_EVENT,