kernel-ark/drivers
Andi Kleen 2815ab92ba ACPI: Do cpufreq clamping for throttling per package v2
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

Cc: <stable@vger.kernel.org>
Signed-off-by: Andi Kleen <ak@linux.intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
2012-03-22 02:16:14 -04:00
..
accessibility
acpi ACPI: Do cpufreq clamping for throttling per package v2 2012-03-22 02:16:14 -04:00
amba
ata pata/at91: use newly introduced SMC accessors 2012-02-13 18:31:37 +01:00
atm drivers/atm/solos-pci.c: exchange pci_iounmaps 2012-02-19 18:57:51 -05:00
auxdisplay
base Fixes a bootstrapping issue for some registers when a less commonly used 2012-02-18 15:37:25 -08:00
bcma bcma: don't fail for bad SPROM CRC 2012-02-06 14:37:52 -05:00
block Merge branch 'for-linus' of git://git.kernel.dk/linux-block 2012-03-14 17:16:45 -07:00
bluetooth Bluetooth: btusb: Add vendor specific ID (0a5c 21f3) for BCM20702A0 2012-02-15 13:09:26 +02:00
cdrom cdrom: move shared static to cdrom_device_info 2012-02-08 20:03:14 +01:00
char agp: fix scratch page cleanup 2012-01-26 18:36:48 +00:00
clk
clocksource
connector
cpufreq
cpuidle cpuidle: Default y on powerpc pSeries 2012-02-22 16:48:51 +11:00
crypto Merge git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 2012-03-03 09:31:49 -08:00
dca
devfreq
dio
dma i.MX SDMA: Fix burstsize settings 2012-02-02 14:00:43 +05:30
edac asm-generic: architecture independent readq/writeq for 32bit environment 2012-02-21 16:47:28 -08:00
eisa
firewire firewire: ohci: disable MSI on Ricoh controllers 2012-01-30 21:33:34 +01:00
firmware
gpio gpio: Add missing spin_lock_init in gpio-ml-ioh driver 2012-02-01 21:59:37 -07:00
gpu Merge branch 'exynos-drm-fixes' of git://git.infradead.org/users/kmpark/linux-samsung into drm-fixes 2012-03-15 09:41:26 +00:00
hid HID: hid-input: allow array fields out of range 2012-03-05 10:28:58 +01:00
hv
hwmon hwmon: (zl6100) Enable interval between chip accesses for all chips 2012-03-14 09:17:03 -07:00
hwspinlock
i2c i2c-algo-bit: Fix spurious SCL timeouts under heavy load 2012-03-15 18:11:05 +01:00
ide ARM: at91: drop ide driver in favor of the pata one 2012-02-13 18:31:37 +01:00
idle ACPI processor hotplug: Delay acpi_processor_start() call for hotplugged cores 2012-01-19 21:26:32 -05:00
ieee802154
infiniband Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2012-02-10 14:18:46 -08:00
input Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input 2012-03-07 08:31:31 -08:00
iommu x86/amd: iommu_set_device_table() must not be __init 2012-03-08 11:36:06 +01:00
isdn isdn: type bug in isdn_net_header() 2012-02-09 15:41:29 -05:00
leds drivers/leds/leds-lm3530.c: fix setting pltfm->als_vmax 2012-02-08 19:03:51 -08:00
lguest
macintosh powerpc/adb: Use set_current_state() 2012-02-16 16:15:12 +11:00
mca
md Device-mapper fixes for 3.3. 2012-03-08 17:21:51 -08:00
media Merge branch 'v4l_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media 2012-03-15 17:06:05 -07:00
memstick
message
mfd mfd: Correct readability of WM8994 DC servo 4E register 2012-03-01 01:42:52 +01:00
misc c2port: class_create() returns an ERR_PTR 2012-03-05 15:49:43 -08:00
mmc mmc: core: Fixup suspend/resume issues for UHS-I cards 2012-03-04 12:25:15 -05:00
mtd - Fix a regression in 16-bit Atmel NAND flash which was introduced in 3.1 2012-02-04 07:17:47 -08:00
net wimax/i2400m: fix erroneous NETDEV_TX_BUSY use 2012-03-16 02:01:41 -07:00
nfc
nubus
of of/mdio: fix fixed link bus name 2012-02-27 10:09:52 -06:00
oprofile
parisc [PARISC] include <linux/prefetch.h> in drivers/parisc/iommu-helpers.h 2012-02-27 09:44:15 -06:00
parport
pci PCI: ignore pre-1.1 ASPM quirking when ASPM is disabled 2012-03-07 20:26:47 -08:00
pcmcia ARM: pxa: fix error handling in pxa2xx_drv_pcmcia_probe 2012-02-16 10:41:23 +08:00
pinctrl pinctrl: restore pin naming 2012-02-01 19:35:21 +01:00
platform panasonic-laptop: avoid overflow in acpi_pcc_hotkey_add() 2012-03-12 10:25:51 -04:00
pnp
power lp8727_charger: Add terminating entry for i2c_device_id table 2012-02-01 21:34:26 +04:00
pps pps: class_create() returns an ERR_PTR, not NULL 2012-03-05 15:49:43 -08:00
ps3
ptp
rapidio rapidio/tsi721: fix bug in register offset definitions 2012-03-15 17:03:03 -07:00
regulator regulator: da9052: Ensure the selected voltage falls within the specified range 2012-03-11 20:39:10 +00:00
rtc drivers/rtc/rtc-r9701.c: fix crash in r9701_remove() 2012-03-05 15:49:43 -08:00
s390 [S390] qdio: fix handler function arguments for zfcp data router 2012-03-02 17:33:00 +01:00
sbus
scsi floppy/scsi: fix setting of BIO flags 2012-03-05 15:49:43 -08:00
sfi
sh sh: clkfwk: bugfix: use clk_reparent() for div6 clocks 2012-01-24 10:44:49 +09:00
sn
spi Fix section mismatch in spi-pl022.c 2012-02-13 11:57:58 -07:00
ssb ssb: fix cardbus slot in hostmode 2012-02-01 15:26:00 -05:00
staging staging: pohmelfs: remove drivers/staging/pohmelfs 2012-02-08 16:19:06 -08:00
target iscsi-target: Fix reservation conflict -EBUSY response handling bug 2012-03-13 21:43:58 -07:00
tc
telephony
thermal thermal: Rename generate_netlink_event 2012-01-23 03:15:25 -05:00
tty sh-sci / PM: Avoid deadlocking runtime PM 2012-03-09 12:59:44 +09:00
uio
usb Revert "powerpc/usb: fix issue of CPU halt when missing USB PHY clock" 2012-03-02 16:08:54 -08:00
uwb
vhost
video drivers/video/backlight/s6e63m0.c: fix corruption storing gamma mode 2012-03-15 17:03:04 -07:00
virt
virtio virtio: balloon: leak / fill balloon across S4 2012-03-01 09:28:41 +10:30
vlynq
w1
watchdog watchdog: fix GETTIMEOUT ioctl in booke_wdt 2012-02-29 09:46:13 +01:00
xen xenbus_dev: add missing error check to watch handling 2012-02-03 16:07:05 -05:00
zorro
Kconfig
Makefile