You are not logged in.

#1 2010-05-10 21:32:16

MadCat_X
Member
Registered: 2009-10-08
Posts: 189

Odd CPU throttling on Toshiba Qosmio X300 - possibly ACPI related

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

#2 2010-05-23 21:17:54

jabbourb
Member
Registered: 2010-04-12
Posts: 2

Re: Odd CPU throttling on Toshiba Qosmio X300 - possibly ACPI related

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 sad

Last edited by jabbourb (2010-05-24 15:26:36)

Offline

#3 2010-05-24 22:51:35

MadCat_X
Member
Registered: 2009-10-08
Posts: 189

Re: Odd CPU throttling on Toshiba Qosmio X300 - possibly ACPI related

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

Board footer

Powered by FluxBB