[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <bad9e0bd5504df83092c7add2d84331e164b60cc.camel@linux.intel.com>
Date: Mon, 13 Apr 2020 20:55:55 -0700
From: Srinivas Pandruvada <srinivas.pandruvada@...ux.intel.com>
To: "Jason A. Donenfeld" <Jason@...c4.com>,
linux-kernel@...r.kernel.org, linux-edac@...r.kernel.org,
x86@...nel.org, arnd@...db.de, bberg@...hat.com, bp@...e.de
Subject: Re: [PATCH 1/3] x86/mce/therm_throt: remove unused
platform_thermal_notify function pointer
On Tue, 2020-04-07 at 00:33 -0600, Jason A. Donenfeld wrote:
> A long time ago platform_thermal_notify was added as some generic
> mechanism for platform drivers to hook thermal events. It seems as
> though this has been entirely superseded, and nothing uses it. Remove
> the plumbing for this, since this code runs in an interrupt hot path.
Good idea.
Thanks,
Srinivas
>
> Signed-off-by: Jason A. Donenfeld <Jason@...c4.com>
> ---
> arch/x86/include/asm/mce.h | 3 ---
> arch/x86/kernel/cpu/mce/therm_throt.c | 25 -------------------------
> 2 files changed, 28 deletions(-)
>
> diff --git a/arch/x86/include/asm/mce.h b/arch/x86/include/asm/mce.h
> index 4359b955e0b7..ee30cb60ad36 100644
> --- a/arch/x86/include/asm/mce.h
> +++ b/arch/x86/include/asm/mce.h
> @@ -257,9 +257,6 @@ extern void (*deferred_error_int_vector)(void);
>
> void intel_init_thermal(struct cpuinfo_x86 *c);
>
> -/* Interrupt Handler for core thermal thresholds */
> -extern int (*platform_thermal_notify)(__u64 msr_val);
> -
> /* Interrupt Handler for package thermal thresholds */
> extern int (*platform_thermal_package_notify)(__u64 msr_val);
>
> diff --git a/arch/x86/kernel/cpu/mce/therm_throt.c
> b/arch/x86/kernel/cpu/mce/therm_throt.c
> index f36dc0742085..f904e85eb68f 100644
> --- a/arch/x86/kernel/cpu/mce/therm_throt.c
> +++ b/arch/x86/kernel/cpu/mce/therm_throt.c
> @@ -105,10 +105,6 @@ struct thermal_state {
> struct _thermal_state pkg_thresh1;
> };
>
> -/* Callback to handle core threshold interrupts */
> -int (*platform_thermal_notify)(__u64 msr_val);
> -EXPORT_SYMBOL(platform_thermal_notify);
> -
> /* Callback to handle core package threshold_interrupts */
> int (*platform_thermal_package_notify)(__u64 msr_val);
> EXPORT_SYMBOL_GPL(platform_thermal_package_notify);
> @@ -551,24 +547,6 @@ static void notify_package_thresholds(__u64
> msr_val)
> platform_thermal_package_notify(msr_val);
> }
>
> -static void notify_thresholds(__u64 msr_val)
> -{
> - /* check whether the interrupt handler is defined;
> - * otherwise simply return
> - */
> - if (!platform_thermal_notify)
> - return;
> -
> - /* lower threshold reached */
> - if ((msr_val & THERM_LOG_THRESHOLD0) &&
> - thresh_event_valid(CORE_LEVEL, 0))
> - platform_thermal_notify(msr_val);
> - /* higher threshold reached */
> - if ((msr_val & THERM_LOG_THRESHOLD1) &&
> - thresh_event_valid(CORE_LEVEL, 1))
> - platform_thermal_notify(msr_val);
> -}
> -
> /* Thermal transition interrupt handler */
> static void intel_thermal_interrupt(void)
> {
> @@ -579,9 +557,6 @@ static void intel_thermal_interrupt(void)
>
> rdmsrl(MSR_IA32_THERM_STATUS, msr_val);
>
> - /* Check for violation of core thermal thresholds*/
> - notify_thresholds(msr_val);
> -
> therm_throt_process(msr_val & THERM_STATUS_PROCHOT,
> THERMAL_THROTTLING_EVENT,
> CORE_LEVEL);
Powered by blists - more mailing lists