Linux - Laptop and NetbookHaving a problem installing or configuring Linux on your laptop? Need help running Linux on your netbook? This forum is for you. This forum is for any topics relating to Linux and either traditional laptops or netbooks (such as the Asus EEE PC, Everex CloudBook or MSI Wind).
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
I'm an experienced Linux user, but I'm suddenly having issues with CPU scaling that I can't seem to figure out. My suspicion is that it's a hardware issue, but I don't relish the thought of dealing with Dell's tech support.
Some quick info about what I have:
Model: Dell XPS M1330
CPU: Intel(R) Core(TM)2 Duo CPU T7500 @ 2.20GHz
OS: Slackware 13 (also happened on Slackware 12.2)
Up until maybe a month ago, the cpu scaling worked fine. Now, whenever it's under load (compiling, playing a game, etc), the CPU downscales. Not all at once, but it eventually drops to 800mhz. It instantly starts dropping when the load happens, and slowly goes back up.
I've pretty much ruled out overheating, I've done everything I could to keep it cool, and I've monitored the temperature. While the temperature goes up a little when there's load, it isn't significant. Also, the cpu drops immediately when there's load, there isn't enough time to overheat.
Currently, and as far back as I've known how, I've used the 'userspace' governor. I use a dockapp to raise/lower the cpu as I need it. Just to make sure it wasn't an issue with the governer, I also tried the 'performance' one with no difference.
/var/log/messages contains the following (I don't know when this started happening, I've re-installed my OS since the scaling started acting up, but it seems to happen about the same time the CPU drops):
--
Sep 16 18:30:49 ankh logger: ACPI group processor / action CPU1 is not defined
Sep 16 18:32:52 ankh logger: ACPI group processor / action CPU0 is not defined
Sep 16 18:32:52 ankh logger: ACPI group processor / action CPU1 is not defined
Sep 16 18:32:55 ankh logger: ACPI group processor / action CPU0 is not defined
..etc, many many times
--
That message appears to be generated from /etc/acpi/acpi_handler.sh, but that doesn't really help me.
You say slackware. Are you running a 64 bit box on a 32 bit OS? That slackware kernel is configured to cope with every dodgy x86 box ever made, and takes no advantage of your fancy dual core cpu, or any exclusively 64 bit optimizations (Of which there are a few). You need slackware64 or slamd64. I would suggest the ondemand scheduler, on a 64 bit OS and leave out all the bugfixes and workarounds of the last millenium.
Even when you go to 64 bit, amd64 and x86_64(= intel) differ and some packages cater for both separately (JDK for instance) Make sure to include hot pluggable cpus otherwise acpi can never turn one off. Slamd64 started with the old slackware kernel and I ran it here for a while. Compiles took forever, and acpi was awol. The newer slamd64 kernel (from slamd64-current I think it's 2.6.29.x and higher) is good.
As for Dell, fire them logs. When you find yourself talking to India, ask for 2nd level linux support. I wish you well.
When you say 'Exactly the same as before' I'm hesitant to swallow this. If you're on slackware, you must know that it's kind of DIY linux. You don't get a bundle of acpi scripts, you do it yourself. No fancy setup tools to sort things out, you DIY. That said, try this
grep cpu /var/log/messages
The scheduler makes entries about idle every boot. Here's mine
Oct 18 16:41:20 harriet kernel: KERNEL supported cpus:
Oct 18 16:41:20 harriet kernel: NR_CPUS:2 nr_cpumask_bits:2 nr_cpu_ids:2 nr_node_ids:1
Oct 18 16:41:20 harriet kernel: cpuidle: using governor ladder
Oct 18 16:41:20 harriet kernel: cpuidle: using governor menu
Are you getting this stuff?
The other obvious step is to set conservative settings in the BIOS - cpu freq, wait states, etc. You get weirdness if you're overclocking cooky hardware.
I'm well aware of the DIY nature of Slackware, so I spent a lot of time researching governors and cpu scaling before I came here. I've enabled the proper modules, and I tried a few different governors. The governors work as expected, except when the load is high.
I'm starting to have my suspicions about heat again. Although the heat doesn't go up significantly under load, I do see some messages saying "temperature/cpu normal" in dmesg, which is a little odd.
Here's my output from 'messages':
ron@ankh:~$ sudo grep cpu /var/log/messages
Password:
Oct 17 12:19:06 ankh kernel: cpuidle: using governor ladder
Oct 17 13ron@ankh:~$ sudo grep cpu /var/log/messages
Password:
Oct 17 12:19:06 ankh kernel: cpuidle: using governor ladder
Oct 17 13:08:02 ankh kernel: cpuidle: using governor ladder
Oct 17 15:12:55 ankh kernel: cpuidle: using governor ladder
:08:02 ankh kernel: cpuidle: using governor ladder
Oct 17 15:12:55 ankh kernel: cpuidle: using governor ladder
I'll poke around in the BIOS and see if there's anything that makes sense. I was also going to update the BIOS, but that requires Windows (on a laptop that shipped with Linux?), so it's going to involve installing a Windows version to a small partition I left empty.
If you're not getting something like this on a reboot
Oct 18 16:41:20 harriet kernel: KERNEL supported cpus:
Oct 18 16:41:20 harriet kernel: NR_CPUS:2 nr_cpumask_bits:2 nr_cpu_ids:2 nr_node_ids:1
it might be a kernel problem. I'm on slamd, and I fought with them over their kernel. To my pleasant surprise, they adjusted it somewhat. Here's my cpu settings after some 12 or more rebuilds.
bash-3.1$ cd /usr/src/linux-2.6.30.5
bash-3.1$ grep CPU .config
CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y
CONFIG_ARCH_HAS_CPU_RELAX=y
CONFIG_HAVE_SETUP_PER_CPU_AREA=y
CONFIG_HAVE_DYNAMIC_PER_CPU_AREA=y
CONFIG_HAVE_CPUMASK_OF_CPU_MAP=y
# CONFIG_GENERIC_CPU is not set
CONFIG_X86_CPU=y
CONFIG_X86_MINIMUM_CPU_FAMILY=64
CONFIG_CPU_SUP_INTEL=y
CONFIG_CPU_SUP_AMD=y
CONFIG_CPU_SUP_CENTAUR=y
CONFIG_NR_CPUS=2
CONFIG_X86_CPUID=m
# CONFIG_X86_CPU_DEBUG is not set
CONFIG_SPLIT_PTLOCK_CPUS=4
CONFIG_HOTPLUG_CPU=y
CONFIG_ACPI_HOTPLUG_CPU=y
# CPU Frequency scaling
CONFIG_CPU_FREQ=y
CONFIG_CPU_FREQ_TABLE=y
# CONFIG_CPU_FREQ_DEBUG is not set
# CONFIG_CPU_FREQ_STAT is not set
# CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE is not set
# CONFIG_CPU_FREQ_DEFAULT_GOV_POWERSAVE is not set
# CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set
CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND=y
# CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set
CONFIG_CPU_FREQ_GOV_PERFORMANCE=y
CONFIG_CPU_FREQ_GOV_POWERSAVE=m
# CONFIG_CPU_FREQ_GOV_USERSPACE is not set
CONFIG_CPU_FREQ_GOV_ONDEMAND=y
CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y
# CPUFreq processor drivers
CONFIG_X86_ACPI_CPUFREQ=m
CONFIG_CPU_IDLE=y
CONFIG_CPU_IDLE_GOV_LADDER=y
CONFIG_CPU_IDLE_GOV_MENU=y
# on-CPU RTC drivers
# CONFIG_RCU_CPU_STALL_DETECTOR is not set
My cpu is an amd turion twin core, so the settings will be different. But there are equivalents for intel, in fact there seem to be more options for intel. As for the temperature stuff, I would recommend acpitools, so that at least you have some firm info there. I would also run sensors-detect on a stock kernel, and let it find all the nutty little devices that need modules. I don't run lm_sensors, but I do have the modules loaded so acpi can do things.
One note Hot plugging cpus is necessary if cores are to be turned off by software. I'm a hardware guy, and hotplugging a cpu sounds like madness or suicide, but it isn't.
Iago what graphics card is on your dell? I am running slackware 13 on a dell laptop that was having the same issues. It was fine on slack 12.1 but when i upgraded to 13, it started to scale the cpu during heavy usage (basically the same exact symptoms that you were having.)
I started to suspect that the problem was with the video drivers because X was the first to start racing. Plus the only package that was different between the 2 installations were the drivers for my GeForce 7900 video card. I didn't install them because the new version of X seemed to detect and setup the card.
Anyway, after downloading and installing the drivers from nVidia's website, everything is running fine now. Perhaps a similar solution will work for you.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.