Re: 2.6.22-rc1-mm1 Implementing fan/thermal control in userspace - Was: [cannot change thermal trip points]

From: Matthew Garrett
Date: Thu May 24 2007 - 10:37:11 EST


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.

> 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 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.

> 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.

> It's even more impossible to get ACPI working correctly for all machines
> and all subsystems, these little workarounds can help some people to at
> least use their machine or get some parts working better.

It's fairly clearly not impossible, given that there exists at least one
OS that these machines work with.

--
Matthew Garrett | mjg59@xxxxxxxxxxxxx
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/