Re: ACPI Thermal workaround hooks

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Thanks for the feedback, Thomas.

On Thursday 09 August 2007 13:33, Thomas Renninger wrote:
> On Thu, 2007-08-09 at 01:58 -0400, Len Brown wrote:
> > In response to the outcry after I deleted the trip-point
> > overrides, here is how I think we can work-around
> > thermal issues in a supportable way.
> > 
> > In particular, this series should address the issues
> > on Knut's AOpen Award system here:
> > http://bugzilla.kernel.org/show_bug.cgi?id=8842
> > and give us the hooks to address analogous issues in
> > other systems.
> > 
> > Please let me know what you think.
> 
> Thanks.
> This is very much appreciated.
> 
> I like the idea of boot parameters, this avoids the seduction to build
> tools on it and mis-use this as an official interface.
> 
> But where I like to see a sysfs interface for, is the passive trip point
> and allow:
>   a) lowering passive trip points
>   b) let user define his own passive trip point if none
>      is provided by BIOS
>
> I don't remember whether every trip point gets it's own sysfs file. If
> yes, adding a passive_user file, default -1 and the normal passive file
> where the current active passive trip point value is shown, is how I
> think this could be done.

My guess is that those who have active+passive cooling and want
a system that stays silent more will choose to use thermal.act=
override to raise their low temp fan trip point
to stay silent up to a higher temperature.

I think it will be less popular for those w/o active cooling to
force their passive trip-point lower to maintain a silent system
at the cost of performance -- but I'm sure there are some people
who are interested in doing so, and thermal.psv will indeed
let them do that if a passive trip point already exists
(and it usually does).

> I know you hate it, because it's not explicitly stated in ACPI spec,
> works around it a bit and so on.
> But this one is:
>   1) safe (in respect to hardware and code)
>   2) a very mighty feature

Don't get me wrong -- I make no assumption that "ACPI spec compliance"
is the end-goal here -- making users's systems useful & supportable is the end goal.
However, the reality is that the vast majority of systems are validated
for Windows, and so to make Linux most supportable on those systems,
it is usually in our best interest to behave largely like (we imagine)
Windows does on those systems.  Otherwise we exercise the BIOS where
it is poorly validated and run into snags.

Note that the thermal.psv in this series is writable by root at run-time.
But as it requires a trip-point-changed event to get noticed after
module load time, that will get you almost the feature you are looking for,
but only on systems with active cooling -- the more common ones with just critical
and passive will not be implementing hysteresis and thus would not 
be changing trip-points at run-time.  For those, you'd have to rmmod thermal
and modprobe thermal to force the new passive trip point to get noticed.

I agree, if a system doesn't have a passive trip point, it would probably
not be dangerous (from a HW standpoint) to invent one and layer it over
this mechanism.  However, I stopped short of doing that.  There have been
various discussions of doing something along those lines by integrating
throttling with cpufreq p-states, and I wonder if instead,
a more generic mechanism in that space isn't the way to go.

Note also that thermal.act behaves like thermal.psv above.  Here, however,
the system, by definition, implements active trip points -- and all the
functional ones I've seen implement hysteresis and thus implement
trip point change events -- so you could actually scribble on this
thermal.act at run-time and it would become effective upon the next trip event.
Yes, providing this override was a compromise.  I stopped short of overrides
for all possible active trips b/c I didn't want to get tangled in the
hysteresis mess, and I figured the lowest trip point is the one of
of most interest to those trying to run completely silent.  Even
this single trip-point override is not fool-proof, as there is no
guarantee that the BIOS will actually send an event at the temperature
that this gets set to.  However, it does handle the most interesting
trivial case of allowing us to ignore such an event when we don't want
to turn the fan on as soon as the BIOS default setting.

thanks,
-Len

-
To unsubscribe from this list: send the line "unsubscribe linux-acpi" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux IBM ACPI]     [Linux Power Management]     [Linux Kernel]     [Linux Laptop]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]     [Linux Resources]

  Powered by Linux