You are not logged in.
Hello folks,
I'm sorry for a rather lengthy post, but I've been fighting this problem for a long time so I'd like to describe all my findings.
Problem:
I have a Toshiba Qosmio X300 notebook for about 8 months and this issue has been manifesting itself for over 5 months. The problem is that my CPU throttles down a lot when the CPU temp reaches 63°C. CPU is throttled down by clock modulation which is set to 50 %. Multiplier/VID remains unchanged(cpufreq-info reports that the CPU is running at 2.67GHz but the performance is as if the CPU ran at 1.33GHz). When I was dualbooting Windows 7 I observed the same behavior and RMClock provided readings similar to cpufreq. The CPU is C2D T9550 by the way.
Workarounds I used to overcome this:
1) There is "omnibook-svn" module available in AUR which can do few nice things with my notebook, for example it can control the clock modulation directly. Simple bash script executing "echo 0 > /proc/omnibook/throttling" every 5 seconds helped. But since kernel 2.6.33.3 this module doesn't work anymore, so I went out to look for another solution. When I was using omnibook module to override the throttling, my CPU temp would rise as high as 85°C (I'll explain later why).
There is an utility called ThrottleStop for Windows which has done the job for me there.
2) I boot with the "acpi=off" kernel parameter. This disables things like MM buttons, battery info, brightness control and stuff, but my CPU won't throttle down when I boot with this parameter. Moreover, the CPU temp won't exceed 70°C even if I take no special measures to provide enough cool air for the CPU fan. I found that pretty weird, so I investigated a little further and I discovered that the CPU fan is running much faster when I boot with "acpi=off" and the CPU is running at 100%. I concluded that the ACPI modules in the kernel somehow mess up the fan control. If I run some CPU extensive operation, it goes like this:
Default: Start at 45°C, no fan > Raising to 63°C, fan at low speed > Hitting 63°C, fan kicking in at medium speed > Clock modulating at 50%, temp dropping to approx. 55°C, fan stays at medium, performance drops to about 50% of the unthrottled system.
ACPI=off: Start at 45°C, no fan > Raising to approx. 68-70°C, fan kicks in at full speed when temp is around 55-60°C, no throttling.
I tried disabling "processor, thermal, thermal_sys" modules, using some extra parameters for these modules, recompiling kernel with different ACPI settings/modules, passing different "acpi_osi=" parameters but I haven't found any solution. I guess that there has to be some way how to disable this odd behavior when simple "acpi=off" works. I have ditched Windows some time ago so I cannot test how the fan behaves when I use Throttle Stop there. I'd be glad for any suggestions you can provide, thanx in advance...
My current config follows:
uname -a
Linux Qosmio-X300 2.6.34-rc7-ARCHMOD #1 SMP PREEMPT Mon May 10 21:53:15 CEST 2010 x86_64 Intel(R) Core(TM)2 Duo CPU T9550 @ 2.66GHz GenuineIntel GNU/Linux
lsmod
ipv6 266090 20
coretemp 4509 0
rfcomm 34590 4
sco 8500 2
bridge 46235 0
stp 1544 1 bridge
llc 3448 2 bridge,stp
bnep 8502 2
l2cap 33165 16 rfcomm,bnep
btusb 10745 2
bluetooth 49580 9 rfcomm,sco,bnep,l2cap,btusb
fuse 58793 2
ext2 62377 1
joydev 9415 0
uvcvideo 57351 0
videodev 37563 1 uvcvideo
v4l1_compat 14322 2 uvcvideo,videodev
v4l2_compat_ioctl32 10185 1 videodev
snd_seq_dummy 1399 0
snd_seq_oss 27552 0
snd_seq_midi_event 5212 1 snd_seq_oss
snd_hda_codec_realtek 266211 1
snd_seq 49282 5 snd_seq_dummy,snd_seq_oss,snd_seq_midi_event
snd_seq_device 5001 3 snd_seq_dummy,snd_seq_oss,snd_seq
snd_pcm_oss 37144 0
snd_mixer_oss 14580 1 snd_pcm_oss
snd_hda_intel 20626 3
snd_hda_codec 71911 2 snd_hda_codec_realtek,snd_hda_intel
snd_hwdep 5918 1 snd_hda_codec
iwlagn 91638 0
iwlcore 101547 1 iwlagn
mac80211 146528 2 iwlagn,iwlcore
snd_pcm 68853 3 snd_pcm_oss,snd_hda_intel,snd_hda_codec
snd_timer 18620 2 snd_seq,snd_pcm
firewire_ohci 22322 0
firewire_core 43563 1 firewire_ohci
r8169 35993 0
cfg80211 141024 3 iwlagn,iwlcore,mac80211
snd 52585 17 snd_seq_oss,snd_hda_codec_realtek,snd_seq,snd_seq_device,snd_pcm_oss,snd_mixer_oss,snd_hda_intel,snd_hda_codec,snd_hwdep,snd_pcm,snd_timer
jmb38x_ms 7878 0
sdhci_pci 6634 0
sdhci 15385 1 sdhci_pci
uhci_hcd 21771 0
mmc_core 52450 1 sdhci
soundcore 5481 1 snd
snd_page_alloc 6705 2 snd_hda_intel,snd_pcm
led_class 2267 1 sdhci
crc_itu_t 1233 1 firewire_core
rfkill 14638 3 bluetooth,cfg80211
video 18037 0
output 1748 1 video
mii 3666 1 r8169
ac 2088 0
battery 5409 0
memstick 6366 1 jmb38x_ms
psmouse 44752 0
intel_agp 27966 0
ehci_hcd 35745 0
usbcore 134920 5 btusb,uvcvideo,uhci_hcd,ehci_hcd
toshiba_bluetooth 1906 0
nvidia 10653365 41
serio_raw 4006 0
button 4578 0
i2c_i801 8294 0
iTCO_wdt 10541 0
iTCO_vendor_support 1801 1 iTCO_wdt
pcspkr 1755 0
evdev 8359 13
i2c_dev 5267 0
i2c_core 17543 4 videodev,nvidia,i2c_i801,i2c_dev
cpufreq_powersave 926 0
cpufreq_ondemand 7910 2
acpi_cpufreq 5867 0
freq_table 2291 2 cpufreq_ondemand,acpi_cpufreq
processor 23231 3 acpi_cpufreq
thermal_sys 13382 2 video,processor
rtc_cmos 8790 0
rtc_core 13959 1 rtc_cmos
rtc_lib 1770 1 rtc_core
lspci
00:00.0 Host bridge: Intel Corporation Mobile 4 Series Chipset Memory Controller Hub (rev 07)
00:01.0 PCI bridge: Intel Corporation Mobile 4 Series Chipset PCI Express Graphics Port (rev 07)
00:1a.0 USB Controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #4 (rev 03)
00:1a.1 USB Controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #5 (rev 03)
00:1a.2 USB Controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #6 (rev 03)
00:1a.7 USB Controller: Intel Corporation 82801I (ICH9 Family) USB2 EHCI Controller #2 (rev 03)
00:1b.0 Audio device: Intel Corporation 82801I (ICH9 Family) HD Audio Controller (rev 03)
00:1c.0 PCI bridge: Intel Corporation 82801I (ICH9 Family) PCI Express Port 1 (rev 03)
00:1c.2 PCI bridge: Intel Corporation 82801I (ICH9 Family) PCI Express Port 3 (rev 03)
00:1c.3 PCI bridge: Intel Corporation 82801I (ICH9 Family) PCI Express Port 4 (rev 03)
00:1c.5 PCI bridge: Intel Corporation 82801I (ICH9 Family) PCI Express Port 6 (rev 03)
00:1d.0 USB Controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #1 (rev 03)
00:1d.1 USB Controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #2 (rev 03)
00:1d.2 USB Controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #3 (rev 03)
00:1d.7 USB Controller: Intel Corporation 82801I (ICH9 Family) USB2 EHCI Controller #1 (rev 03)
00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev 93)
00:1f.0 ISA bridge: Intel Corporation ICH9M LPC Interface Controller (rev 03)
00:1f.2 SATA controller: Intel Corporation ICH9M/M-E SATA AHCI Controller (rev 03)
00:1f.3 SMBus: Intel Corporation 82801I (ICH9 Family) SMBus Controller (rev 03)
01:00.0 VGA compatible controller: nVidia Corporation G94 [GeForce 9800M GTS] (rev a1)
0e:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168B PCI Express Gigabit Ethernet controller (rev 02)
14:00.0 Network controller: Intel Corporation Wireless WiFi Link 5100
20:00.0 FireWire (IEEE 1394): JMicron Technology Corp. IEEE 1394 Host Controller
20:00.1 System peripheral: JMicron Technology Corp. SD/MMC Host Controller
20:00.2 SD Host controller: JMicron Technology Corp. Standard SD Host Controller
20:00.3 System peripheral: JMicron Technology Corp. MS Host Controller
20:00.4 System peripheral: JMicron Technology Corp. xD Host Controller
I get messages like "CE: hpet increased min_delta_ns to 25312 nsec" in dmesg when the system throttles down.
Last edited by MadCat_X (2010-05-10 21:33:49)
Offline
I am having a similar problem here: whenever my system warms up a bit, cpu frequency throttles at 800 Mhz and no governor can change that; consequently my system becomes very slow. I get the same "hpet increasing min_delta_ns to 22500 nsec" message in dmesg.
After googling, it seems there is a workaround by passing "hpet=disable" at kernel boot time, but since my problem is situational I can't say for sure.
EDIT: I still get the same problem despite using hpet=disable
Last edited by jabbourb (2010-05-24 15:26:36)
Offline
hpet=disable only switches the HPET off, so it's logical these messages will disappear. I guess that the clock modulation confuses the HPET bit. The only workaround is booting with acpi=off kernel parameter with all the drawbacks it has. Real solution would be proper ACPI driver, but someone would have to write it in the first place...:)
Offline