On Mon, 2021-02-01 at 15:27 +0100, Borislav Petkov wrote: > From: Borislav Petkov <b...@suse.de> > > Hi, > > I know I already committed those but > > https://lkml.kernel.org/r/20210201032427.GB12524@xsang-OptiPlex-9020 > > made me look at the IRQ handler registration. And it does happen per > CPU > which is particularly daft and unneeded. And it used to do that > before > that change too, for some unknown reason. > > So I decided to not have a handler registration but simply call the > thermal interrupt handler if all is setup and before that issue the > message about the unexpected IRQ. > > I did test it by sending bogus thermal interrupts before and after > registration - see hunk below - and it looks good: > > [ 0.136608] 0: Sending thermal IRQ > [ 0.136760] CPU0: Unexpected LVT thermal interrupt! > [ 0.136917] CPU0: Thermal monitoring enabled (TM1) > [ 0.137071] 1: Sending thermal IRQ > [ 0.043243] 0: Sending thermal IRQ > [ 0.043243] 1: Sending thermal IRQ > [ 0.043243] 0: Sending thermal IRQ > [ 0.043243] 1: Sending thermal IRQ > [ 0.043243] 0: Sending thermal IRQ > [ 0.043243] 1: Sending thermal IRQ > [ 0.043243] 0: Sending thermal IRQ > [ 0.043243] 1: Sending thermal IRQ > [ 0.043243] 0: Sending thermal IRQ > [ 0.043243] 1: Sending thermal IRQ > [ 0.149436] thermal_sys: Registered thermal governor 'fair_share' > [ 0.149437] thermal_sys: Registered thermal governor 'bang_bang' > [ 0.149595] thermal_sys: Registered thermal governor 'step_wise' > [ 0.149753] thermal_sys: Registered thermal governor 'user_space' > [ 0.445717] ACPI: \_SB_.PR00: _OSC native thermal LVT Acked > [ 0.707539] thermal LNXTHERM:00: registered as thermal_zone0 > > Logic in patch 1 got a bit simplified too. > [...]
> > Borislav Petkov (2): > x86/mce: Get rid of mcheck_intel_therm_init() > thermal: Move therm_throt there from x86/mce > I have applied this series and tested. Didn't find any functional issues. But I have one comment on patch 2/2. Tested-by: Srinivas Pandruvada <srinivas.pandruv...@linux.intel.com> Thanks, Srinivas > arch/x86/Kconfig | 4 -- > arch/x86/include/asm/mce.h | 22 ---------- > arch/x86/include/asm/thermal.h | 24 +++++++++++ > arch/x86/kernel/cpu/intel.c | 3 ++ > arch/x86/kernel/cpu/mce/Makefile | 2 - > arch/x86/kernel/cpu/mce/core.c | 1 - > arch/x86/kernel/cpu/mce/intel.c | 1 - > arch/x86/kernel/irq.c | 21 ++++++++++ > drivers/thermal/intel/Kconfig | 4 ++ > drivers/thermal/intel/Makefile | 1 + > .../thermal/intel}/therm_throt.c | 41 ++++------------- > -- > drivers/thermal/intel/x86_pkg_temp_thermal.c | 3 +- > 12 files changed, 64 insertions(+), 63 deletions(-) > create mode 100644 arch/x86/include/asm/thermal.h > rename {arch/x86/kernel/cpu/mce => > drivers/thermal/intel}/therm_throt.c (96%) > > 2nd:rc6-therm_throt >