Re: [PATCH 3/3] x86/mce/therm_throt: allow disabling the thermal vector altogether

From: Jason A. Donenfeld
Date: Tue Apr 14 2020 - 17:07:56 EST


On Tue, Apr 14, 2020 at 2:49 PM Srinivas Pandruvada
<srinivas.pandruvada@xxxxxxxxxxxxxxx> wrote:
>
> On Tue, 2020-04-14 at 22:23 +0200, Borislav Petkov wrote:
> > + Tony.
> >
> > On Tue, Apr 14, 2020 at 01:41:08PM -0600, Jason A. Donenfeld wrote:
> > > Generally it is desirable, and extremely common too. This thermal
> > > code
> > > -- which mostly functions to print some messages into kmsg -- is
> > > very
> > > verbose. This is not something I want to compile into smaller
> > > systems.
> > > This is the reason why kconfig has options in the first place. I'm
> > > not
> > > sure yet-another boottime flag makes sense for this.
> >
> > I don't mind making the already existing option selectable and
> > leaving
> > it default y, i.e., keeping the current situation by default. And
> > people
> > who want to disable it, can then do so.
> >
> > I do mind to having yet another config option though. No thanks -
> > they're already too many.
> >
> > So it should be an all or nothing thing.
> >
> > Poking quickly at that and
> > drivers/thermal/intel/x86_pkg_temp_thermal.c,
> > all those things do is report trip points. therm_throt reports how
> > long
> > the hw throttled due to hitting a trip point, etc.
> >
> > IINM, of course so please correct me if I'm missing anything.
> >
> > But if not and this all is only for reporting and doesn't have any
> > detrimental effects on the hardware when missing from the system,
> > then I
> > guess we could make CONFIG_X86_THERMAL_VECTOR user-selectable.
>
> We can make user selectable
>
> These drivers are used for reporting only.
> User space can select a trip temperature via x86_pkg_temp and get
> notification via uevent to start additional cooling system (additional

I didn't see any uevent stuff. Is this part of out-of-tree modules or
proprietary code that's hooking into those EXPORT_SYMBOL (non-GPL)
exports?

> fans, liquid coooling etc), so that processor don't have to go self
> throttling mode. Self throttling depending on processor series and
> firmware can be very aggressive.
> In client systems thermald will set a temperature and starts power
> control once it reaches passive temperature limit. But it can function
> without x86_pkg_temp also, so even if user disables thermal reporting
> it can still function.

The 2/3 patch may be interesting as well to you. This removes the
expensive work queue management stuff if the option is deselected,
since all those workqueues do is print messages to kmsg, while
retaining the rest of the infra.