http://bugzilla.kernel.org/show_bug.cgi?id=10658


[EMAIL PROTECTED] changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |NEEDINFO




------- Comment #46 from [EMAIL PROTECTED]  2008-06-03 10:29 -------
Consider the cause of bug 8842.
The BIOS exported a bogus _PSV of 50C.
Linux polled the thermal zone and dutifully throttled the
processor when it hit 50C, severely impacting
performance under normal use.

Why did windows not run into this problem?
Because Windows doesn't poll, and thus never
exposed a very obvious BIOS bug.

If Linux polls, it exposes itself to an area
of BIOS and EC which was NOT VALIDATED ON WINDOWS.

Whelp, the reality today is that in the horizontal PC
computer industry, if it isn't validated on Windows,
it isn't validated at all.

So the stated goal of the Linux/ACPI sub-system is to
take the pragmatic course of making systems work
by attempting to exercise the validated paths through
their BIOS/EC/firmware rather than the non-validated paths.
However, any other strategy would be wildly impractical.

That is why Linux must NOT enable
polling by default on any system which hasn't
been validated to handle it properly.

So I'll be delighted to accept a patch that recognizes
a broken machine via DMI and invokes a workaround --
-- as long as it doesn't hurt other instances of
the same machine that do not have the problem.
The workaround must not be deployed for all machines --
even if the profile where it is applied seems narrow,
it would apply to thousands of models.

Re: making Linux smarter about thermals.
I agree with this desire, and we implemented the generic thermal I/F
was  explicitly to help out with this.
It applies to both ACPI and non-ACPI systems.
However, you must realize that on the population of
ACPI systems in the marketplace, there are some
significant practical constraints on the ability of the OS
to do something other than what ACPI intends.

In particular, the ACPI BIOS owns the trip points --
Linux does not.  The ACPI EC decides if and when
to send an event to the OS.  If we change what
Linux thinks is a trip point, that doesn't mean
that the EC will send us an event when the temperature
crosses it.  Further, the ACPI BIOS has the right to re-define
trip points at run time, and to implement hysteresis it often does this.
On some machines the EC will send us interesting
temperature change events, and on some machines it will not.
ie. the phantom _PSV scheme may work on some systems
and not on others -- it would require polling to make sure
we notice the temperature change;
but polling is itself problematic per above.

Martin,

> The system works okay in Windows.

Can you figure out what it is doing?
Are there any Dell or platforms specific drivers present?
Is it throttling the processor when it gets hot?

Please attach the output from this command when the machine is warm:
grep . /sys/firmware/acpi/interrupts/*
It will show us which GPEs are firing and perhaps give some insight
into a DSDT which is apparently full of SMI abuse.


-- 
Configure bugmail: http://bugzilla.kernel.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug, or are watching someone who is.

-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
acpi-bugzilla mailing list
acpi-bugzilla@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/acpi-bugzilla

Reply via email to