All of lore.kernel.org
 help / color / mirror / Atom feed
From: Thomas Renninger <trenn@suse.de>
To: Matthew Garrett <mjg59@srcf.ucam.org>
Cc: linux-kernel@vger.kernel.org, linux-acpi@vger.kernel.org
Subject: Re: 2.6.22-rc1-mm1 Implementing fan/thermal control in userspace - Was: [cannot change thermal trip points]
Date: Thu, 24 May 2007 20:18:58 +0200	[thread overview]
Message-ID: <1180030738.16396.158.camel@queen.suse.de> (raw)
In-Reply-To: <20070524143644.GA27364@srcf.ucam.org>

On Thu, 2007-05-24 at 15:36 +0100, Matthew Garrett wrote:
> On Thu, May 24, 2007 at 04:16:53PM +0200, Thomas Renninger wrote:
> 
> > I doubt it is impossible, would you mind sharing your knowledge why you
> > think it is impossible or point to some related discussion, pls.
> 
> Because, as Len has pointed out, you end up with two different ideas 
> about what the trip points are - the kernel's and the hardware's. That 
> works fine until some event in the firmware either forcibly 
> resynchronises the two or makes assumptions about the spec-compliance of 
> the interpreter.

Not sure what exactly you'd like to do in userspace, maybe you can be a
bit more precise here:
  a) Doing whole thermal management in userspace, reading temp, writing
     fan and cpufreq_max_freq, shutting down machine,...
  b) Workaround not switching on fans by double checking fan/temperature
     by a userspace daemon and try to finally trigger the switch by 
     writing to /proc/acpi/fan/state (or corresponding /sys,..)

IMO we need a some kind of fan watchdog like Henrique described
recently, maybe this could be put in userspace not sure.
Currently the fan can runs out of sync easily if the fan state is
changed behind the OSs back.


> > Yes, trip points are overridden by BIOS on HPs and what is the problem?
> > The workaround won't work for them, but it still does on others
> > (mainly on ThinkPads which have passive tp at about 89 C and critical on
> > 91 C).
> 
> You don't know whether the workaround will work or not
Hmm, I don't get the point. If it works it's great, if not you have a
problem anyway and can at least test a workaround.
>  until you've 
> performed a full audit of the platform firmware, which is going to 
> potentially change between BIOS versions. It's entirely legal for the 
> firmware to behave in this way, and even beneficial under various 
> circumstances.
But that's exactly what all these workarounds are for. You pass them if
you have a buggy BIOS. You wait for new BIOSes and hope that you can get
rid of the workaround...

> > I could imagine an implementation for this, that e.g. critical...active9
> > get module parameters. BIOS updates for trip points get ignored as soon
> > as one is set and you can only decrease a value. Nothing bad can happen
> > and it will make some people happy (yes it's hacky, violates the specs
> > and so on..., but some more people have a working machine). Will this
> > (or similar) get accepted?
> 
> The interface would need to be more complicated than that if you wanted 
> to be able to implement hysteresis, and there's the potential for 
> hardware damage if paramaters are set inappropriately. Even then, 
> there's no easy way of programatically determining whether it would work 
> on any given hardware.

The fact that 3 people complained rather fast for a patch in rc1-mm1,
looks like this is a workaround that is needed. I personally advised two
guys to use it with their ThinkPad in the summer and they are happy with
it.

I'd also like to have this a bit extended: be able to just modify
passive trip point.
IMO this is a very powerful feature allowing people a fanless system as
long as they have a cpufreq capable processor.

The idea having this in userspace is interesting. But as said rather
complicated to implement. The hysteresis implementation for passive
cooling works fine in kernel and is field tested, it should get used.

The problem with the ACPI spec is that it's rather complicated. This is
IMO mainly for a BIOS developer point of view for what I can say.
Therefore it's rather seldom picked up by BIOS vendors.
However for the kernel it's easy (to fake, to do) and it's working fine,
so why not making use of it?

IMO we should even provide a passive trip point (initially unused) when
there is no one defined by BIOS.

I agree that it's hard to find the temperature to not let the fan kick
in automatically. But it's really easy then for everyone to:
  - get a fanless system
  - workaround critical shutdowns
and all this is safe in respect to HW damage.

IMO this is an area where we can easily behave better than M$ does.

Maybe my first mails were a bit offending, don't know, we should get
this back to an objective discussion.

I especially like to have some comments from Len, before doing any work
for nothing (or before giving up):
   - Would such a passive trip point override be acceptable in any way
     (be it in userspace, kernel space or in whatever form -> to be 
     discussed)
   - Would such a workaround as I described in my mail before be 
     acceptable
   - If done in userspace, how should it look like exactly

Thanks,

   Thomas


  reply	other threads:[~2007-05-24 18:18 UTC|newest]

Thread overview: 151+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-05-16  3:19 2.6.22-rc1-mm1 Andrew Morton
2007-05-16  6:06 ` 2.6.22-rc1-mm1 KAMEZAWA Hiroyuki
2007-05-16  7:58   ` 2.6.22-rc1-mm1 Jeff Garzik
2007-05-16  8:04     ` 2.6.22-rc1-mm1 Andrew Morton
2007-05-16 15:33       ` 2.6.22-rc1-mm1 Jeff Garzik
2007-05-16 20:24       ` 2.6.22-rc1-mm1 Darrick J. Wong
2007-05-16 16:54   ` 2.6.22-rc1-mm1 Randy Dunlap
2007-05-16  7:57 ` 2.6.22-rc1-mm1 - s390 vs. md Cornelia Huck
2007-05-16 17:21   ` Williams, Dan J
2007-05-16 10:18 ` 2.6.22-rc1-mm1 Andy Whitcroft
2007-05-16 15:16   ` 2.6.22-rc1-mm1 H. Peter Anvin
2007-05-16 17:40     ` 2.6.22-rc1-mm1 Mel Gorman
2007-05-16 17:55       ` 2.6.22-rc1-mm1 H. Peter Anvin
2007-05-16 18:18         ` 2.6.22-rc1-mm1 Andy Whitcroft
2007-05-16 18:00       ` 2.6.22-rc1-mm1 Andrew Morton
2007-05-16 23:32       ` 2.6.22-rc1-mm1 H. Peter Anvin
2007-05-16 23:36       ` 2.6.22-rc1-mm1 H. Peter Anvin
2007-05-17  9:35         ` 2.6.22-rc1-mm1 Mel Gorman
2007-05-29 22:34           ` 2.6.22-rc1-mm1 Andy Whitcroft
2007-06-01  9:50             ` 2.6.22-rc1-mm1 Andy Whitcroft
2007-06-01 23:12               ` 2.6.22-rc1-mm1 H. Peter Anvin
2007-06-05 18:38                 ` 2.6.22-rc1-mm1 Andy Whitcroft
2007-06-05 22:57                   ` 2.6.22-rc1-mm1 H. Peter Anvin
2007-06-07  9:49                     ` 2.6.22-rc1-mm1 Andy Whitcroft
2007-06-11 13:58                       ` 2.6.22-rc1-mm1 Andy Whitcroft
     [not found]                         ` <63a08cc7547f14065becdf9a94d0d529@pinky>
2007-06-11 16:15                           ` [PATCH] move the kernel to 16MB for NUMA-Q Andrew Morton
2007-06-11 17:20                             ` Dave Jones
2007-06-11 17:36                               ` H. Peter Anvin
2007-06-11 18:19                                 ` Jan Engelhardt
2007-06-11 18:46                                   ` Dave Jones
2007-06-11 19:17                                     ` Alan Cox
2007-06-11 20:07                                     ` Rene Herman
2007-06-11 20:21                                       ` Rene Herman
2007-06-11 19:01                                   ` H. Peter Anvin
2007-06-11 20:44                                     ` Jan Engelhardt
2007-06-11 20:51                                       ` H. Peter Anvin
2007-06-15 11:12                                         ` Jan Engelhardt
2007-06-11 17:49                               ` Rene Herman
2007-06-11 17:58                                 ` H. Peter Anvin
2007-06-11 18:01                                   ` Rene Herman
2007-05-17  4:16     ` 2.6.22-rc1-mm1 Bharata B Rao
2007-05-18  8:54     ` 2.6.22-rc1-mm1 young dave
2007-05-18 10:07       ` 2.6.22-rc1-mm1 young dave
2007-05-18 16:54         ` 2.6.22-rc1-mm1 H. Peter Anvin
2007-05-18 16:59           ` 2.6.22-rc1-mm1 Mel Gorman
2007-05-21  0:53           ` 2.6.22-rc1-mm1 young dave
2007-05-21  4:49             ` 2.6.22-rc1-mm1 H. Peter Anvin
2007-05-21  5:00               ` 2.6.22-rc1-mm1 young dave
2007-05-21  5:03                 ` 2.6.22-rc1-mm1 H. Peter Anvin
2007-05-21  5:39                   ` 2.6.22-rc1-mm1 young dave
     [not found]                     ` <465138CC.3060605@zytor.com>
2007-05-21  8:41                       ` 2.6.22-rc1-mm1 young dave
2007-05-21 16:35                         ` 2.6.22-rc1-mm1 H. Peter Anvin
2007-05-22  2:14                           ` 2.6.22-rc1-mm1 young dave
     [not found]                             ` <465319C1.2080206@zytor.com>
2007-05-23  1:15                               ` 2.6.22-rc1-mm1 young dave
2007-05-16 12:10 ` (NFS) BUG: at page-writeback.c:829 [Was: 2.6.22-rc1-mm1] Jiri Slaby
2007-05-16 12:39   ` Nick Piggin
2007-05-16 12:44     ` Jiri Slaby
2007-05-16 12:47       ` Nick Piggin
2007-05-16 13:00     ` Trond Myklebust
2007-05-16 13:06       ` Nick Piggin
2007-05-16 12:52   ` Trond Myklebust
2007-05-16 14:30 ` 2.6.22-rc1-mm1 Michal Piotrowski
2007-05-16 14:37   ` 2.6.22-rc1-mm1 Nick Piggin
     [not found]     ` <6bffcb0e0705160935r1767a764hce72f24f9eee6c1e@mail.gmail.com>
2007-05-16 16:58       ` 2.6.22-rc1-mm1 Jiri Slaby
2007-05-16 15:34   ` 2.6.22-rc1-mm1 Gabriel C
2007-05-16 16:24 ` 2.6.22-rc1-mm1 Michal Piotrowski
2007-05-16 16:41   ` 2.6.22-rc1-mm1 Andrew Morton
2007-05-17  2:06     ` 2.6.22-rc1-mm1 David Chinner
2007-05-17  8:41       ` [xfs-masters] 2.6.22-rc1-mm1 Christoph Hellwig
2007-05-17 20:05         ` Michal Piotrowski
2007-05-18  2:11           ` David Chinner
2007-05-21 10:11             ` David Chinner
2007-05-21 10:23               ` Christoph Hellwig
2007-05-22 10:44                 ` David Chinner
2007-05-22 11:42                   ` Christoph Hellwig
2007-05-22 23:23                   ` Nathan Scott
2007-05-22 14:45               ` Michal Piotrowski
2007-05-16 16:50 ` 2.6.22-rc1-mm1 Randy Dunlap
2007-05-16 17:00   ` 2.6.22-rc1-mm1 Richard Purdie
2007-05-16 17:06     ` 2.6.22-rc1-mm1 Andrew Morton
2007-05-16 19:55       ` 2.6.22-rc1-mm1 Richard Purdie
2007-05-16 20:00       ` 2.6.22-rc1-mm1 Richard Purdie
2007-05-18 17:34         ` 2.6.22-rc1-mm1 Edward Shishkin
2007-05-16 17:37 ` 2.6.22-rc1-mm1 [cannot change thermal trip points] Maciej Rutecki
2007-05-16 17:47   ` Chuck Ebbert
2007-05-16 17:47     ` Chuck Ebbert
2007-05-16 18:10     ` Goulven Guillard
2007-05-16 18:10       ` Goulven Guillard
2007-05-17  9:23     ` Pavel Machek
2007-05-17 13:36       ` Maciej Rutecki
2007-05-17 19:08         ` Len Brown
2007-05-17 20:09           ` Maciej Rutecki
2007-05-17 20:42             ` Maciej Rutecki
2007-05-17 21:53           ` Pavel Machek
2007-05-17 22:42             ` Len Brown
2007-05-21 12:11               ` Pavel Machek
2007-06-01  2:46                 ` Len Brown
2007-06-04 11:16                   ` Pavel Machek
2007-05-17 19:17       ` Len Brown
2007-05-17 21:52         ` Pavel Machek
2007-05-17 22:35           ` Len Brown
2007-06-04  9:02             ` Stefan Seyfried
2007-06-04  9:02               ` Stefan Seyfried
2007-06-04 11:06               ` Pavel Machek
2007-05-19 19:56         ` Thomas Renninger
2007-05-21  3:50           ` Len Brown
2007-05-21 11:31             ` Thomas Renninger
2007-05-21 12:10             ` Pavel Machek
2007-05-21 13:27               ` Matthew Garrett
2007-05-21 13:29                 ` Pavel Machek
2007-05-21 13:36                   ` Matthew Garrett
2007-05-21 13:40                     ` Pavel Machek
2007-05-21 13:45                       ` Matthew Garrett
2007-05-21 22:42                         ` Pavel Machek
2007-05-22  0:31                           ` Matthew Garrett
2007-05-22  9:06                             ` Pavel Machek
2007-05-22  9:16                               ` Matthew Garrett
2007-05-22  9:28                                 ` Goulven Guillard
2007-05-22  9:28                                   ` Goulven Guillard
2007-05-22 10:05                                 ` Maciej Rutecki
2007-06-04  9:13                               ` Stefan Seyfried
2007-06-04  9:13                                 ` Stefan Seyfried
2007-05-24 14:16                             ` 2.6.22-rc1-mm1 Implementing fan/thermal control in userspace - Was: " Thomas Renninger
2007-05-24 14:36                               ` Matthew Garrett
2007-05-24 18:18                                 ` Thomas Renninger [this message]
2007-05-25  6:38                                 ` Pavel Machek
2007-05-27 21:51                                   ` Matthew Garrett
2007-05-28 10:58                                     ` Pavel Machek
2007-05-28 12:50                                       ` Matthew Garrett
2007-05-28 12:53                                         ` Pavel Machek
2007-05-16 18:55 ` 2.6.22-rc1-mm1: IDE compile error Adrian Bunk
2007-05-23 23:45   ` Bartlomiej Zolnierkiewicz
2007-05-24 10:55     ` Alan Cox
2007-05-24 18:53       ` H. Peter Anvin
2007-05-25  0:05       ` H. Peter Anvin
2007-05-25  0:14         ` Alan Cox
2007-05-25  0:18           ` H. Peter Anvin
2007-05-25  0:38             ` Alan Cox
2007-05-25  0:51               ` H. Peter Anvin
2007-05-25 14:19                 ` Alan Cox
2007-05-17 12:38 ` 2.6.22-rc1-mm1 - Call trace in slub_def.h Reuben Farrelly
2007-05-17 12:52   ` Satyam Sharma
2007-05-20 10:12 ` 2.6.22-rc1-mm1 Mariusz Kozlowski
2007-05-20 10:12   ` 2.6.22-rc1-mm1 Mariusz Kozlowski
2007-05-20 10:21   ` 2.6.22-rc1-mm1 Sam Ravnborg
2007-05-20 10:21     ` 2.6.22-rc1-mm1 Sam Ravnborg
2007-05-20 15:33     ` 2.6.22-rc1-mm1 Kumar Gala
2007-05-20 15:33       ` 2.6.22-rc1-mm1 Kumar Gala
2007-05-22  7:25 ` 2.6.22-rc1-mm1: evm BUG when reading sysfs file Joseph Fannin
2007-05-22 21:23   ` Andrew Morton
2007-05-25 21:05     ` Mimi Zohar

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1180030738.16396.158.camel@queen.suse.de \
    --to=trenn@suse.de \
    --cc=linux-acpi@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mjg59@srcf.ucam.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.