<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/drivers/acpi/processor_thermal.c, branch v3.2.38</title>
<subtitle>Linux kernel source tree</subtitle>
<id>https://git.amat.us/linux/atom/drivers/acpi/processor_thermal.c?h=v3.2.38</id>
<link rel='self' href='https://git.amat.us/linux/atom/drivers/acpi/processor_thermal.c?h=v3.2.38'/>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/'/>
<updated>2012-04-13T15:33:46Z</updated>
<entry>
<title>ACPI: Do cpufreq clamping for throttling per package v2</title>
<updated>2012-04-13T15:33:46Z</updated>
<author>
<name>Andi Kleen</name>
<email>andi@firstfloor.org</email>
</author>
<published>2012-02-06T16:17:11Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=35cb6ba080586b2b780b032650a816887e7ad96d'/>
<id>urn:sha1:35cb6ba080586b2b780b032650a816887e7ad96d</id>
<content type='text'>
commit 2815ab92ba3ab27556212cc306288dc95692824b upstream.

On Intel CPUs the processor typically uses the highest frequency
set by any logical CPU. When the system overheats
Linux first forces the frequency to the lowest available one
to lower the temperature.

However this was done only per logical CPU, which means all
logical CPUs in a package would need to go through this before
the frequency is actually lowered.

Worse this delay actually prevents real throttling, because
the real throttle code only proceeds when the lowest frequency
is already reached.

So when a throttle event happens force the lowest frequency
for all CPUs in the package where it happened. The per CPU
state is now kept per package, not per logical CPU. An alternative
would be to do it per cpufreq unit, but since we want to bring
down the temperature of the complete chip it's better
to do it for all.

In principle it may even make sense to do it for all CPUs,
but I kept it on the package for now.

With this change the frequency is actually lowered, which
in terms also allows real throttling to proceed.

I also removed an unnecessary per cpu variable initialization.

v2: Fix package mapping

Signed-off-by: Andi Kleen &lt;ak@linux.intel.com&gt;
Signed-off-by: Len Brown &lt;len.brown@intel.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>ACPI: constify ops structs</title>
<updated>2011-07-16T22:36:17Z</updated>
<author>
<name>Vasiliy Kulikov</name>
<email>segoon@openwall.com</email>
</author>
<published>2011-06-25T17:07:52Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=9c8b04be443b33939f374a811c82abeebe0a61d1'/>
<id>urn:sha1:9c8b04be443b33939f374a811c82abeebe0a61d1</id>
<content type='text'>
Structs battery_file, acpi_dock_ops, file_operations,
thermal_cooling_device_ops, thermal_zone_device_ops, kernel_param_ops
are not changed in runtime.  It is safe to make them const.
register_hotplug_dock_device() was altered to take const "ops" argument
to respect acpi_dock_ops' const notion.

Signed-off-by: Vasiliy Kulikov &lt;segoon@openwall.com&gt;
Acked-by: Jeff Garzik &lt;jgarzik@redhat.com&gt;
Signed-off-by: Len Brown &lt;len.brown@intel.com&gt;
</content>
</entry>
<entry>
<title>ACPI thermal: remove two unused functions</title>
<updated>2010-12-11T07:01:47Z</updated>
<author>
<name>Zhang Rui</name>
<email>rui.zhang@intel.com</email>
</author>
<published>2010-12-08T02:40:26Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=b9047599695ae835252ba3d6a19eada98c19dc89'/>
<id>urn:sha1:b9047599695ae835252ba3d6a19eada98c19dc89</id>
<content type='text'>
When CONFIG_CPU_FREQ=n ...

drivers/acpi/processor_thermal.c:159:12: warning: ‘acpi_thermal_cpufreq_increase’ defined but not used
drivers/acpi/processor_thermal.c:163:12: warning: ‘acpi_thermal_cpufreq_decrease’ defined but not used

Remove unused declaration of ‘acpi_thermal_cpufreq_increase’ and
‘acpi_thermal_cpufreq_decrease’

Signed-off-by: Zhang Rui &lt;rui.zhang@intel.com&gt;
Signed-off-by: Len Brown &lt;len.brown@intel.com&gt;
</content>
</entry>
<entry>
<title>ACPI: thermal: remove unused limit code</title>
<updated>2010-10-19T17:58:34Z</updated>
<author>
<name>Len Brown</name>
<email>len.brown@intel.com</email>
</author>
<published>2010-10-19T17:58:34Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=ab7c13c4a5a22335b0cfc6f364ee77abed66503c'/>
<id>urn:sha1:ab7c13c4a5a22335b0cfc6f364ee77abed66503c</id>
<content type='text'>
acpi_processor_apply_limit()
acpi_thermal_cpufreq_increase()
acpi_thermal_cpufreq_decrease()

Signed-off-by: Len Brown &lt;len.brown@intel.com&gt;
</content>
</entry>
<entry>
<title>ACPI: remove dead code</title>
<updated>2010-10-19T17:44:21Z</updated>
<author>
<name>Stephen Hemminger</name>
<email>shemminger@vyatta.com</email>
</author>
<published>2010-10-18T15:42:48Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=5ba8b1c6fe40c314a02e28553c25552d8f1442e7'/>
<id>urn:sha1:5ba8b1c6fe40c314a02e28553c25552d8f1442e7</id>
<content type='text'>
Found by running make namespacecheck on linux-next

Signed-off-by: Stephen Hemminger &lt;shemminger@vyatta.com&gt;
Signed-off-by: Len Brown &lt;len.brown@intel.com&gt;
</content>
</entry>
<entry>
<title>ACPI processor: remove deprecated ACPI procfs I/F</title>
<updated>2010-08-15T04:31:45Z</updated>
<author>
<name>Zhang Rui</name>
<email>rui.zhang@intel.com</email>
</author>
<published>2010-07-15T02:46:41Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=d09fe55510257f1acd21ea80a9bdd7c72b5895b3'/>
<id>urn:sha1:d09fe55510257f1acd21ea80a9bdd7c72b5895b3</id>
<content type='text'>
Remove deprecated ACPI processor procfs I/F, including:
/proc/acpi/processor/CPUX/power
/proc/acpi/processor/CPUX/limit
/proc/acpi/processor/CPUX/info

/proc/acpi/processor/CPUX/throttling still exists,
as we don't have sysfs I/F available for now.

Signed-off-by: Zhang Rui &lt;rui.zhang@intel.com&gt;
Signed-off-by: Len Brown &lt;len.brown@intel.com&gt;
</content>
</entry>
<entry>
<title>ACPI: Remove unnecessary cast.</title>
<updated>2010-01-16T04:06:44Z</updated>
<author>
<name>H Hartley Sweeten</name>
<email>hartleys@visionengravers.com</email>
</author>
<published>2010-01-08T18:12:41Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=070a24f4d238612bede515023893b18f494774c4'/>
<id>urn:sha1:070a24f4d238612bede515023893b18f494774c4</id>
<content type='text'>
The struct seq_file 'private' member is a void *, the cast is not needed.
Also, remove an extra whitespace line.

Signed-off-by: H Hartley Sweeten &lt;hsweeten@visionengravers.com&gt;
Signed-off-by: Len Brown &lt;len.brown@intel.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'processor-procfs-2.6.32' into release</title>
<updated>2009-09-19T06:10:40Z</updated>
<author>
<name>Len Brown</name>
<email>len.brown@intel.com</email>
</author>
<published>2009-09-19T06:10:40Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=cbeee13570adfb0af494a07074958e4888c2351c'/>
<id>urn:sha1:cbeee13570adfb0af494a07074958e4888c2351c</id>
<content type='text'>
</content>
</entry>
<entry>
<title>ACPI: Move definition of PREFIX from acpi_bus.h to internal..h</title>
<updated>2009-08-28T23:57:27Z</updated>
<author>
<name>Len Brown</name>
<email>len.brown@intel.com</email>
</author>
<published>2009-07-28T20:45:54Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=a192a9580bcc41692be1f36b77c3b681827f566a'/>
<id>urn:sha1:a192a9580bcc41692be1f36b77c3b681827f566a</id>
<content type='text'>
Linux/ACPI core files using internal.h all PREFIX "ACPI: ",
however, not all ACPI drivers use/want it -- and they
should not have to #undef PREFIX to define their own.

Add GPL commment to internal.h while we are there.

This does not change any actual console output,
asside from a whitespace fix.

Signed-off-by: Len Brown &lt;len.brown@intel.com&gt;
</content>
</entry>
<entry>
<title>ACPI processor: force throttling state when BIOS returns incorrect value</title>
<updated>2009-08-27T03:06:53Z</updated>
<author>
<name>Frans Pop</name>
<email>elendil@planet.nl</email>
</author>
<published>2009-08-26T21:29:29Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=2a908002c7b1b666616103e9df2419b38d7c6f1f'/>
<id>urn:sha1:2a908002c7b1b666616103e9df2419b38d7c6f1f</id>
<content type='text'>
If the BIOS reports an invalid throttling state (which seems to be
fairly common after system boot), a reset is done to state T0.
Because of a check in acpi_processor_get_throttling_ptc(), the reset
never actually gets executed, which results in the error reoccurring
on every access of for example /proc/acpi/processor/CPU0/throttling.

Add a 'force' option to acpi_processor_set_throttling() to ensure
the reset really takes effect.

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

This patch, together with the next one, fixes a regression introduced in
2.6.30, listed on the regression list. They have been available for 2.5
months now in bugzilla, but have not been picked up, despite various
reminders and without any reason given.

Google shows that numerous people are hitting this issue. The issue is in
itself relatively minor, but the bug in the code is clear.

The patches have been in all my kernels and today testing has shown that
throttling works correctly with the patches applied when the system
overheats (http://bugzilla.kernel.org/show_bug.cgi?id=13918#c14).

Signed-off-by: Frans Pop &lt;elendil@planet.nl&gt;
Acked-by: Zhang Rui &lt;rui.zhang@intel.com&gt;
Cc: Len Brown &lt;lenb@kernel.org&gt;
Cc: "Rafael J. Wysocki" &lt;rjw@sisk.pl&gt;
Cc: Rusty Russell &lt;rusty@rustcorp.com.au&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
</feed>
