Re: thermal governor: does it actually work??
From: Peter Feuerer
Date: Mon Feb 18 2013 - 11:47:41 EST
Hi Boris, Hi Rui,
@Rui, would be great, if you could review the patch and verify, whether
everything I'm telling is the truth, thanks.
Borislav Petkov writes:
On Sun, Feb 17, 2013 at 04:41:57PM +0100, Peter Feuerer wrote:
Don't think so, I think this was already in since 2.6.<something> and
I assume with this patch applied, acerhdf works from at least this
2.6.<something> up to new 3.8 and will still work in the future.
Well, it can't be because there wouldn't be breakage otherwise, right?
I've been running 3.5 on the atom for a long time and it was ok but 3.8
is showing the issue. So something *has* changed.
I think previous 3.7 were two methods possible, the method with one trippoint,
on which the state gets switched on and off using this code in thermal_sys.c:
1060 if (temp >= trip_temp)
1061 cdev->ops->set_cur_state(cdev, 1);
1062 else
1063 cdev->ops->set_cur_state(cdev, 0);
And the other method with all the different trip points, which is used after
applying my patch.
The older way has been removed intentionally or not, I don't know. But as
acerhdf was depending on this old way, it stopped working.
But, as you say above, I guess the two-point scheme of acerhdf doesn't
have a governor that fits. So maybe the correct solution is to have an
"on_off" stupid governor which gets used by acerhdf and does simply call
into acerhdf to switch on the fan to auto above a specified trip point.
It could be a lot of overhead for nothing in the end, though.
I think adding a two-point governor would maybe be the somehow cleaner way...
Rui, what do you think, is there a way, you could provide a two-point governor
with upper temperature for turning on the fan and a lower temperature for
turning it off again?
>Maybe the critical and hot types need to go here? I.e., 3 and 4?
Yes, crit has to go there.
Right, I'll wait for that version of the patch to test. :)
I added crit to the patch below.