Fix passive zone thermal throttling

From: Andi Kleen
Date: Tue Dec 27 2011 - 01:35:46 EST


I have a laptop with a broken fan and it would constantly shut down
under load. In principle passive thermal zone throttling was supposed
to prevent that by slowing down the CPU, but this didn't work.

This patchkit makes it work on my system.

It turned out to be a combination of problems: the EC driver
talking to the embedded controller on my system would frequently
get out of step, which resulted in missing temperature events.
While not completely cured it's much better now with some
replies.

The other more serious problem was that the throttling code
never really worked on multi-core systems: it only lowers
the frequency of a single CPU, that gets the event, but the
other threads/cores still keep the frequency up. Also worse
throttling would never be invoked before the lowest frequency
is reached.

The first patch is merely a cleanup, the other patches fix
these problems.

Now that the kernel is fixed I can send the laptop in for repair.

-Andi

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