From: Thomas Renninger <trenn-l3A5Bk7waGM@public.gmane.org>
To: Andi Kleen <ak-VuQAYsv1563Yd54FQh9/CA@public.gmane.org>
Cc: linux-acpi-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
Zhang Rui <rui.zhang-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>,
ibm-acpi-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org,
mjg59-1xO5oi07KQx4cg9Nei1l7Q@public.gmane.org,
lenb-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org
Subject: Re: Avoid critical temp shutdowns on specific ThinkPad T4x(p) and R50p
Date: Mon, 11 Aug 2008 14:33:22 +0200 [thread overview]
Message-ID: <200808111433.25275.trenn@suse.de> (raw)
In-Reply-To: <48A022BD.2040908-VuQAYsv1563Yd54FQh9/CA@public.gmane.org>
On Monday 11 August 2008 13:30:05 Andi Kleen wrote:
> Do we have a final patch for this yet? I assume it needs at least more
> entries in the DMI list as Henrique pointed out?
On longterm I like to try to fix this in a more generic way:
Use Matthew's basic idea/patch of introducing a passive trip point 5 degree
below the critical trip point and set a polling frequency.
And also (this is what covers the ThinkPads) lower the trip point if the
passive trip point is too close to the critical one (and also set a polling
frequency).
I expect 5 degree below critical tp is not enough, IMO it's better to use e.g.
8-10 degree (you never want to work that close at the critical temperture)
and do not use that high polling freq instead.
However, the patch from Matthew, Zhang pointed me to, is rather broken.
Beside a typo that prevents compilation, pointer types are mixed up (char vs
unsigned long):
---------------
include/linux/thermal.h
struct thermal_zone_device_ops {
..
int (*get_temp) (struct thermal_zone_device *, char *);
..
}
static void thermal_update(struct work_struct *work)
{
...
unsigned long temp;
tz->ops->get_temp(tz, &temp);
...
}
---------------
So Matthew's patch more looks like a suggestion/proof of concept patch.
Another bug I saw by looking over this one:
+ tz->ops->get_crit_temp(tz, &crit_temp);
+ tz->force_passive_temp = crit_temp-5000;
It must get checked whether a critical trip point exists at all.
This might also have to do with the fact that his first attempts have been
rejected...
Anyway, I like to pick this up and improve as suggested above, what makes me
wonder about the thermal_sys.c driver are the char* based device_ops to get
temperatures.
All (with exception to the critical temp, which is even more weird)
temperature handling functions return char*. This looks convenient for sysfs
processing, but it's use should be rather rare (especially if more code gets
added)?
Instead of char->long temperature conversions every time one gets a temp from
the thermal_sys driver, shouldn't these functions better return long and you
have one long->char conversion for sysfs?
If Matthew already has something newer it would be great if we could somehow
coordinate work. Otherwise I will start over on this one. Probably beginning
with a cleanup patch to use long for get_temp and get_trip_temp functions
instead of using char* in struct thermal_zone_device_ops {...}.
Zhang: Would that be ok or have I overseen something?
Is this a bug in current drivers/thermal/Kconfig code:
config THERMAL_HWMON
bool "Hardware monitoring support"
depends on HWMON=y || HWMON=THERMAL
Should the last line be:
depends on HWMON
?
Thomas
-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
next prev parent reply other threads:[~2008-08-11 12:33 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-07-30 13:56 Avoid critical temp shutdowns on specific ThinkPad T4x(p) and R50p Thomas Renninger
2008-07-30 16:17 ` Andi Kleen
[not found] ` <4890942C.3080007-VuQAYsv1563Yd54FQh9/CA@public.gmane.org>
2008-07-30 16:46 ` Thomas Renninger
[not found] ` <200807301556.01815.trenn-l3A5Bk7waGM@public.gmane.org>
2008-07-30 17:52 ` Henrique de Moraes Holschuh
[not found] ` <20080730175227.GA13850-ZGHd14iZgfaRjzvQDGKj+xxZW9W5cXbT@public.gmane.org>
2008-07-30 19:03 ` Thomas Renninger
2008-07-30 20:39 ` [ibm-acpi-devel] " Chris Hanson
[not found] ` <f62196f50807301339r10bbb17do4bb2345b688011a3-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2008-07-31 13:19 ` Henrique de Moraes Holschuh
2008-07-31 9:44 ` Critical temp shutdowns on ThinkPad X60 1706-GMG (was Re: [ibm-acpi-devel] Avoid critical temp shutdowns on specific ThinkPad T4x(p) and R50p) Luca Capello
[not found] ` <87zlnyv14h.fsf_-_-vpnYUZh4Q8kL5bzFcGmneg@public.gmane.org>
2008-07-31 12:39 ` Critical temp shutdowns on ThinkPad X60 1706-GMG (was " Thomas Renninger
2008-07-31 13:04 ` Critical temp shutdowns on ThinkPad X60 1706-GMG Luca Capello
2008-07-31 13:15 ` Theodore Tso
[not found] ` <20080731131512.GI5347-3s7WtUTddSA@public.gmane.org>
2008-07-31 13:21 ` Henrique de Moraes Holschuh
2008-07-31 13:28 ` Luca Capello
2008-07-31 14:06 ` Theodore Tso
[not found] ` <20080731140602.GB11632-3s7WtUTddSA@public.gmane.org>
2008-07-31 14:15 ` Henrique de Moraes Holschuh
2008-07-31 1:02 ` Avoid critical temp shutdowns on specific ThinkPad T4x(p) and R50p Zhang Rui
2008-08-01 11:18 ` Thomas Renninger
2008-08-11 11:30 ` Andi Kleen
[not found] ` <48A022BD.2040908-VuQAYsv1563Yd54FQh9/CA@public.gmane.org>
2008-08-11 12:33 ` Thomas Renninger [this message]
[not found] ` <200808111433.25275.trenn-l3A5Bk7waGM@public.gmane.org>
2008-08-11 12:55 ` Matthew Garrett
[not found] ` <20080811125519.GA26308-1xO5oi07KQx4cg9Nei1l7Q@public.gmane.org>
2008-08-11 14:14 ` Thomas Renninger
2008-08-11 14:15 ` Matthew Garrett
2008-08-12 8:00 ` Andi Kleen
2008-08-12 8:02 ` Matthew Garrett
2008-08-12 8:20 ` Zhang Rui
2008-08-12 9:32 ` Andi Kleen
2008-08-12 1:27 ` Zhang Rui
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=200808111433.25275.trenn@suse.de \
--to=trenn-l3a5bk7wagm@public.gmane.org \
--cc=ak-VuQAYsv1563Yd54FQh9/CA@public.gmane.org \
--cc=ibm-acpi-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org \
--cc=lenb-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org \
--cc=linux-acpi-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=mjg59-1xO5oi07KQx4cg9Nei1l7Q@public.gmane.org \
--cc=rui.zhang-ral2JQCrhuEAvxtiuMwx3w@public.gmane.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox