2009-10-04 00:55:43

by Steven Noonan

[permalink] [raw]
Subject: cpufreq scaling strangely, system feels warm

I have a system that's behaving as though it's under a moderate load,
but nothing's happening and the load average is zero. If I change my
cpufreq governor to 'conservative' or 'ondemand', the CPU immediately
scales up to the maximum clock frequency (as though something was
demanding that much power). The system is also very warm, which is
abnormal even when the machine is always clocked at its maximum
frequency.

Top shows that there are no processes which are hogging the CPU, and
/proc/interrupts doesn't reveal anything interesting (i.e. an
interrupt storm). The only way to get my system to stay cool is to
change the cpufreq governor to 'powersave' or 'userspace' (and then
clock it at the lowest, manually).

I've tried 2.6.31.1 and Linus' current git tree
(2.6.32-rc1-301-gf0a221e). My configs are attached.

My system is a MacBookPro2,2. I'm running an x86_64 kernel.

Any ideas of what could be going on? Am I missing something horribly obvious?

- Steven


Attachments:
config-2.6.31.1 (67.48 kB)
config-2.6.32-rc2-00301-gf0a221e (69.12 kB)
Download all attachments

2009-10-05 02:25:27

by Steven Noonan

[permalink] [raw]
Subject: Re: cpufreq scaling strangely, system feels warm

On Sat, Oct 3, 2009 at 5:54 PM, Steven Noonan <[email protected]> wrote:
> I have a system that's behaving as though it's under a moderate load,
> but nothing's happening and the load average is zero. If I change my
> cpufreq governor to 'conservative' or 'ondemand', the CPU immediately
> scales up to the maximum clock frequency (as though something was
> demanding that much power). The system is also very warm, which is
> abnormal even when the machine is always clocked at its maximum
> frequency.
>
> Top shows that there are no processes which are hogging the CPU, and
> /proc/interrupts doesn't reveal anything interesting (i.e. an
> interrupt storm). The only way to get my system to stay cool is to
> change the cpufreq governor to 'powersave' or 'userspace' (and then
> clock it at the lowest, manually).
>

Scratch that. It's probably an interrupt storm. 'perf top' shows
19,000 IRQs per second. And I recall that 500-1500 per second was
normal for this machine. Now the problem is figuring out where the
interrupt storm is coming from...

> I've tried 2.6.31.1 and Linus' current git tree
> (2.6.32-rc1-301-gf0a221e). My configs are attached.
>
> My system is a MacBookPro2,2. I'm running an x86_64 kernel.
>
> Any ideas of what could be going on? Am I missing something horribly obvious?
>
> - Steven
>

2009-10-05 05:03:54

by Steven Noonan

[permalink] [raw]
Subject: Re: cpufreq scaling strangely, system feels warm

On Sun, Oct 4, 2009 at 7:24 PM, Steven Noonan <[email protected]> wrote:
> On Sat, Oct 3, 2009 at 5:54 PM, Steven Noonan <[email protected]> wrote:
>> I have a system that's behaving as though it's under a moderate load,
>> but nothing's happening and the load average is zero. If I change my
>> cpufreq governor to 'conservative' or 'ondemand', the CPU immediately
>> scales up to the maximum clock frequency (as though something was
>> demanding that much power). The system is also very warm, which is
>> abnormal even when the machine is always clocked at its maximum
>> frequency.
>>
>> Top shows that there are no processes which are hogging the CPU, and
>> /proc/interrupts doesn't reveal anything interesting (i.e. an
>> interrupt storm). The only way to get my system to stay cool is to
>> change the cpufreq governor to 'powersave' or 'userspace' (and then
>> clock it at the lowest, manually).
>>
>
> Scratch that. It's probably an interrupt storm. 'perf top' shows
> 19,000 IRQs per second. And I recall that 500-1500 per second was
> normal for this machine. Now the problem is figuring out where the
> interrupt storm is coming from...
>

Went through my kernel config and found some odd settings, fixed them
and recompiled. Now 'ondemand' works as it should, but 'conservative'
always clocks up to the maximum frequency. I can't figure out why.

Is there a way to get cpufreq to print out some explanations in dmesg
as to why 'conservative' is doing what it does?

- Steven