From: Thomas Renninger <trenn@suse.de>
To: "Ferdinand Hübner" <fh@cvmx.org>
Cc: cpufreq@lists.linux.org.uk
Subject: Re: CPU-Frequency limited to lowest available frequency while under load
Date: Wed, 31 Oct 2007 14:28:39 +0100 [thread overview]
Message-ID: <1193837319.4590.466.camel@queen.suse.de> (raw)
In-Reply-To: <4727062E.9090806@cvmx.org>
On Tue, 2007-10-30 at 11:23 +0100, Ferdinand Hübner wrote:
> Hello,
>
> since I've upgraded to 2.6.23, the current frequency scaling policy is
> being changed whenever the CPU is under load.
> My CPU is a Core2Duo T7200, frequency steps: 2.00 GHz, 1.67 GHz, 1.33
> GHz, 1000 MHz
> I'm using the acpi-cpufreq driver and am setting the governor to
> 'ondemand' via cpufrequtils.
> When the system is booted, the scaling works as expected, the partial
> output from cpufreq-info:
>
> current policy: frequency should be within 1000 MHz and 2.00 GHz.
>
> However, when I start compiling something the policy is being changed to
> the following:
>
> current policy: frequency should be within 1000 MHz and 1000 MHz.
>
> This problem didn't exist with kernels prior to 2.6.23 (I was using
> gentoo-sources most of the time), same behaviour as with 2.6.23 can be
> observed with 2.6.24-rc1.
>
> I'm not entirely sure if this is a problem with cpufreq, so I apologize
> if this is not the right place to ask for help.
>
> Anyway, everytime the maximum CPU frequency is being changed, I receive
> the following ACPI events a few seconds afterwards (these events are not
> being handled)
>
> processor CPU0 00000080 00000003
> processor CPU1 00000080 00000003
>
> Setting the maximum frequency back to 2GHz (cpufreq-set -u 2000MHz) has
> either no effect at all, or is being reverted to 1GHz 30 seconds after that.
> The 'performance' governor is showing the same behaviour.
>
> I've attached my kernel config for ACPI/CPUFREQ and the output from
> acpitool -e.
>
> What can I do to get the "old" behaviour back? I just want the maximum
> frequency to stay at 2GHz...
It can be:
1) frequency limited by BIOS through _PPC
2) frequency reduced by thermal passive limit
3) some really odd cpufreq core bug
>From the last bugs occurring in this area I expect it's 1.
You should add a printk in drivers/acpi/processor_perflib.c
acpi_processor_get_platform_limit():
status = acpi_evaluate_integer(pr->handle, "_PPC", NULL, &ppc);
and print out the ppc value here, best after the checks whether this
call succeeded.
This should be picked up in cpufreq debug output as _PPC often caused
cpufreq problems. A quick look tells me that it is a bit ugly to use
cpufreq debug syntax in acpi layer, but it should be possible and
appropriate.
If _PPC is 0 all freqs are allowed, if it is 1 the highest freq is not
allowed anymore..., so this should always be 0 when working on AC power.
If it is this it could be that:
- ACPI is confused
- It is intended by BIOS (are you working on battery -> look up
your BIOS options, maybe you can modify anything related)
- _PPC is wrong at init (or later) and the value is not reevaluated
at later point
- ...
Maybe you should open a bugreport on http://bugzilla.kernel.org, pls add
me to CC then.
Thomas
> Thank you,
>
> Ferdinand
>
> plain text document attachment (kernel-config.txt)
> #
> # Power management options (ACPI, APM)
> #
> CONFIG_PM=y
> # CONFIG_PM_LEGACY is not set
> # CONFIG_PM_DEBUG is not set
> CONFIG_PM_SLEEP_SMP=y
> CONFIG_PM_SLEEP=y
> CONFIG_SUSPEND_SMP_POSSIBLE=y
> CONFIG_SUSPEND=y
> CONFIG_HIBERNATION_SMP_POSSIBLE=y
> # CONFIG_HIBERNATION is not set
> CONFIG_ACPI=y
> CONFIG_ACPI_SLEEP=y
> # CONFIG_ACPI_PROCFS is not set
> CONFIG_ACPI_PROC_EVENT=y
> CONFIG_ACPI_BUTTON=y
> # CONFIG_ACPI_VIDEO is not set
> CONFIG_ACPI_FAN=y
> CONFIG_ACPI_DOCK=y
> # CONFIG_ACPI_BAY is not set
> CONFIG_ACPI_PROCESSOR=y
> CONFIG_ACPI_HOTPLUG_CPU=y
> CONFIG_ACPI_THERMAL=y
> # CONFIG_ACPI_ASUS is not set
> # CONFIG_ACPI_TOSHIBA is not set
> CONFIG_ACPI_BLACKLIST_YEAR=2001
> CONFIG_ACPI_DEBUG=y
> # CONFIG_ACPI_DEBUG_FUNC_TRACE is not set
> CONFIG_ACPI_EC=y
> CONFIG_ACPI_POWER=y
> CONFIG_ACPI_SYSTEM=y
> CONFIG_X86_PM_TIMER=y
> CONFIG_ACPI_CONTAINER=y
> # CONFIG_APM is not set
>
> #
> # CPU Frequency scaling
> #
> CONFIG_CPU_FREQ=y
> CONFIG_CPU_FREQ_TABLE=y
> CONFIG_CPU_FREQ_DEBUG=y
> # CONFIG_CPU_FREQ_STAT is not set
> # CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE 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=y
> # 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=y
> # CONFIG_X86_POWERNOW_K6 is not set
> # CONFIG_X86_POWERNOW_K7 is not set
> # CONFIG_X86_POWERNOW_K8 is not set
> # CONFIG_X86_GX_SUSPMOD is not set
> # CONFIG_X86_SPEEDSTEP_CENTRINO is not set
> # CONFIG_X86_SPEEDSTEP_ICH is not set
> # CONFIG_X86_SPEEDSTEP_SMI is not set
> # CONFIG_X86_P4_CLOCKMOD is not set
> # CONFIG_X86_CPUFREQ_NFORCE2 is not set
> # CONFIG_X86_LONGRUN is not set
> # CONFIG_X86_LONGHAUL is not set
> # CONFIG_X86_E_POWERSAVER is not set
>
> #
> # shared options
> #
> # CONFIG_X86_ACPI_CPUFREQ_PROC_INTF is not set
> # CONFIG_X86_SPEEDSTEP_LIB is not set
> CONFIG_CPU_IDLE=y
> CONFIG_CPU_IDLE_GOV_LADDER=y
> CONFIG_CPU_IDLE_GOV_MENU=y
> plain text document attachment (acpitool.txt)
> Kernel version : 2.6.24-rc1 - ACPI version : \x182.6
> -----------------------------------------------------------
> Battery status : <not available>
>
> AC adapter : <not available>
> Fan : enabled
> Fan Speed : 3507 RPM
>
> CPU type : Intel(R) Core(TM)2 CPU T7200 @ 2.00GHz
> Min/Max frequency : 1000/1000 MHz
> Current frequency : 1000 MHz
> Frequency governor : ondemand
> Freq. scaling driver : acpi-cpufreq
> Cache size : 4096 KB
> Bogomips : 4023.70
> Bogomips : 3990.04
>
> # of CPU's found : 2
>
> Processor ID : 0
> Bus mastering control : yes
> Power management : yes
> Throttling control : yes
> Limit interface : yes
> Active C-state : C0
> C-states (incl. C0) : 4
> Usage of state C1 : 4148 (0.0 %)
> Usage of state C2 : 13181091 (74.0 %)
> Usage of state C3 : 4636873 (26.0 %)
> T-state count : 8
> Active T-state : T8
>
>
> Processor ID : 1
> Bus mastering control : yes
> Power management : yes
> Throttling control : yes
> Limit interface : yes
> Active C-state : C0
> C-states (incl. C0) : 4
> Usage of state C1 : 6062 (0.0 %)
> Usage of state C2 : 15254283 (67.6 %)
> Usage of state C3 : 2673667 (11.8 %)
> T-state count : 8
> Active T-state : T8
>
>
>
> Thermal zone 1 : ok, 52 C
> Trip points :
> -------------
> critical (S5): 127 C
>
> Thermal zone 2 : ok, 53 C
> Trip points :
> -------------
> critical (S5): 99 C
> passive: 95 C: tc1=5 tc2=4 tsp=600 devices=CPU0 CPU1
>
>
> Device S-state Status Sysfs node
> ---------------------------------------
> 1. LID S3 *enabled
> 2. SLPB S3 *enabled
> 3. EXP0 S4 disabled pci:0000:00:1c.0
> 4. EXP1 S4 disabled pci:0000:00:1c.1
> 5. EXP2 S4 disabled pci:0000:00:1c.2
> 6. EXP3 S4 disabled pci:0000:00:1c.3
> 7. PCI1 S4 disabled pci:0000:00:1e.0
> 8. USB0 S3 disabled pci:0000:00:1d.0
> 9. USB1 S3 disabled pci:0000:00:1d.1
> 10. USB2 S3 disabled pci:0000:00:1d.2
> 11. USB7 S3 disabled pci:0000:00:1d.7
> 12. HDEF S4 disabled pci:0000:00:1b.0
> _______________________________________________
> Cpufreq mailing list
> Cpufreq@lists.linux.org.uk
> http://lists.linux.org.uk/mailman/listinfo/cpufreq
_______________________________________________
Cpufreq mailing list
Cpufreq@lists.linux.org.uk
http://lists.linux.org.uk/mailman/listinfo/cpufreq
next prev parent reply other threads:[~2007-10-31 13:28 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-10-30 10:23 CPU-Frequency limited to lowest available frequency while under load Ferdinand Hübner
2007-10-31 13:28 ` Thomas Renninger [this message]
2007-11-01 18:07 ` Ferdinand Hübner
2007-11-01 18:31 ` Thomas Renninger
2007-11-01 18:36 ` Jarod Wilson
2007-11-06 16:01 ` Ferdinand Hübner
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1193837319.4590.466.camel@queen.suse.de \
--to=trenn@suse.de \
--cc=cpufreq@lists.linux.org.uk \
--cc=fh@cvmx.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.