* If you are interested in TurionPowerControl program, just go at the bottom of the post *
Hi all to the forum, this is my first message here.
I posted this message on amd forums too, but got really low feedback about this. Sorry for long message, but I think the problem I found needs some explanation.
I own a HP DV5-1025el laptop with Turion Ultra ZM-80 processor and Windows Vista 32 bit, running at 2.1 Ghz. The laptop is working wonderfully and I have no stability problem at all.
Since I love to optimize my machines at maximum, I started to search some informations about Power States and such similar things, mostly to tweak and reduce battery cpu usage. I made by myself an utility to control CPU Voltage for each pstate, like PumaStateCtrl, but more flexible. It's in an early stage, but it seems to work good for ZM processors, and maybe I can post it here if someone asks.
I studied the official AMD datasheets about Turion and Turion Ultra (mainly ZM and RM series) processors and found that they have 3 active PStates (actually they have 8 pstates, 3 are activated and 5 are not). My ZM-80 has these pstates:
PState 0 - 2100 Mhz, 1.100 volt - Enabled
PState 1 - 1050 Mhz, 0.950 volt - Enabled
PState 2 - 525 Mhz, 0.800 volt -Enabled
Then there are other pstates from 3 to 7, but are disabled:
PState 3 - 1050 Mhz, 0.950 volt - Disabled
PState 4 - 800 Mhz, 1.550 volt - Disabled
PState 5 - 800 Mhz, 1.550 volt - Disabled
PState 6 - 1050 Mhz, 1.200 volt -Disabled
PState 7 - 1050 Mhz, 1.200 volt - Disabled
The issue is related to the fact I randomly see transitions to pstate 6, that is supposed to be disabled! Actually, as you can see above, pstate 6 overvolt the processor to 1.200 volt and this is a clear violation of the specifications (1.200 volt => overvolting!) , even because PState 6 is set to disabled and should not be used.
This may cause faster battery depletion, higher heat production, and maybe other serious problems with power regulation modules.
How to replicate this:
I found that this behaviour always happens when I set windows vista power profile to "Maximum Performance". Using AMD Power monitor (you can find it here) or even cpu-z I get fast transitions between PState 0 and PState 6, where there should be no transitions at all!
Who is affected:
At the moment, all Turion Ultra ZM, Turion RM series and Athlon X2 QL series processors are affected by the problem (all 65nm notebook parts), as many users reported. We have no informations about Sempron SI series at the moment.
Also it is not a problem of a specific notebook brand, but looks like a generalized problem. Users with HP and Acer notebook actually have reported the problem.
Please report your experiences, thank you and excuse for my bad english.
Possible reason:
I found that disabling OS power management (using High performance profile in Windows, or disabling or fixing cpu scaler in linux) and then forcing the processor in pstate 0 (using TurionPowerControl -fo switch) the processor to go to pstate 6 and stay there while the processor is idling. Maybe it is related to some C halt states.
Also I discovered there also some rare transitions to pstate 7 too, but these still have no apparent cause and I have no methods to artificially reproduce them.
Update:
How to almost completely solve the problem:
Launch the program with -l command like this:
TurionPowerControl -l
It will show something like this:
You may see at the top Core 0 PState 0, and some rows below Core1 PState 0.Code:Turion Power States Optimization and Control - by blackshard - v0.12 Detected CPU: Family: 0xf Model: 0x3 Stepping: 0x1 Extended Family: 0x11 Extended Model: 0x3 Package Type: 0x2 BrandId: 0x1400 Detected Physical Cores: 2 Processor has 3 Power Planes Detected processor: Athlon X2 QL processor Processor has 2 cores Processor has 8 p-states core 0 pstate 0 - En:1 VID:40 FID:13 DID:0 Freq:2100 VCore: 1.0500 core 0 pstate 1 - En:1 VID:60 FID:13 DID:1 Freq:1050 VCore: 0.8000 core 0 pstate 2 - En:0 VID:48 FID:13 DID:1 Freq:1050 VCore: 0.9500 core 0 pstate 3 - En:0 VID:0 FID:0 DID:0 Freq:800 VCore: 1.5500 core 0 pstate 4 - En:0 VID:0 FID:0 DID:0 Freq:800 VCore: 1.5500 core 0 pstate 5 - En:0 VID:0 FID:0 DID:0 Freq:800 VCore: 1.5500 core 0 pstate 6 - En:0 VID:28 FID:13 DID:1 Freq:1050 VCore: 1.2000 core 0 pstate 7 - En:0 VID:28 FID:13 DID:1 Freq:1050 VCore: 1.2000 core 1 pstate 0 - En:1 VID:40 FID:13 DID:0 Freq:2100 VCore: 1.0500 core 1 pstate 1 - En:1 VID:60 FID:13 DID:1 Freq:1050 VCore: 0.8000 core 1 pstate 2 - En:0 VID:48 FID:13 DID:1 Freq:1050 VCore: 0.9500 core 1 pstate 3 - En:0 VID:0 FID:0 DID:0 Freq:800 VCore: 1.5500 core 1 pstate 4 - En:0 VID:0 FID:0 DID:0 Freq:800 VCore: 1.5500 core 1 pstate 5 - En:0 VID:0 FID:0 DID:0 Freq:800 VCore: 1.5500 core 1 pstate 6 - En:0 VID:28 FID:13 DID:1 Freq:1050 VCore: 1.2000 core 1 pstate 7 - En:0 VID:28 FID:13 DID:1 Freq:1050 VCore: 1.2000 Processor Maximum PState: 1 Processor Startup PState: 2 Minimum allowed VID: 52 (0.900v) - Maximum allowed VID 28 (1.200v) Processor AltVID: 60 (0.800v) Processor Northbridge VID: 52 (0.900v) SMAF7 is disabled; processor is using LMM Configuration Registers for Power Mana gement DID to apply when in C1E state: 0 Voltage Regulator Slamming time register: 2 Voltage Regulator AltVID Slamming time register: 2 Voltage Regulator Step Up Ramp Time: 0 Voltage Regulator Step Down Ramp Time: 0 Done!
Now look that Pstate 0 (both Core 0 and Core 1) has VID=40, DID=0 and FID=13 in this example.
Also look that Pstate 6 (on both cores again) has VID=28, DID=1 and FID=13
To prevent any transition to pstate 6 i found that overwriting the pstate 6 parameters with the same values just stops the transitions. Don't know why, just discovered that works! (nb: It works also if you put anything else in there, but just to be safe use the same parameters you got from the table).
So, following the example pstates table of above, I wrote:
TurionPowerControl -pallc 6 28 1 13
and there are no more transitions to pstate 6!
The same doesn't apply to pstate 7, but actually I managed to mitigate the problem with this other command (always remember to change parameters according to your pstates table):
TurionPowerControl -pallc 7 40 0 13
this actually write the values I have in pstate 0 over pstate 7, so transitions from pstate 0 to pstate 7 doesn't require stabilization time, and doesn't overvolt the processor too. Some people reported to have issues when touching pstate 7, so if your computer crashes issuing last command, just forget it: transitions to pstate 7 are much less frequent than transitions to pstate 6.
UPDATE 2010/05/28 - Some more speculation about Pstates 6/7
Hi guys, I report some news.
First, I investigated more about the pstate6/7 behaviour.
I found and report the fact that I can undervolt my processor much more with pstate 6 anomaly on than with pstate 6 anomaly fixed.
Without touching pstate 6 (so with anomaly on), I can undervolt my processor pstate 0 to 1.0375v for core 0 and 1.050v for core 1, and it's running pretty stable for some days now.
Touching pstate 6 (so with anomaly fixed) I can't go below 1.075v (for both cores) because I experience sudden crashes. The most curious thing is that I can undervolt to 1.050v or even 1.0375v: the computer will work fine for some time, but then all of a sudden I get a crash.
I'm thinking more and more about the fact that pstates 6 and 7 serves as a sort of "trampoline" to pstate0, and they just allows the voltage to ramp up just a moment before frequency goes up too, and so allow better voltage stabilization.
BTW, it looks like they produce a bit warmer processor, but actually I can't say nothing about battery life.
UPDATE 2011/07/05:
TurionPowerControl is a command line program available for Win x86, Win x64 and Linux that can be downloaded from this homepage:
TurionPowerControl Homepage
It allows to tweak VID, FID and DID of Turion ZM/RM and Athlon QL processors and now also for Phenom, Phenom II, Athlon II and Turion II processors. Also shows lots of informations about processor internals, like HTC (Hardware Thermal Control) status, HyperTransport link, power states tables and more.
Executables and source code are included.
Also for Linux there's a little script to compile the program for your specific distribution and platform (see included documentation)
I provide the older stable version (0.22) for people who can have problems with newer version. Remember that version 0.22 does not support Family 10h processors (like Phenom, Phenom II, Athlon II and Turion II), but just Family 11h processors (Turion ZM/RM and Athlon QL).
It is available here:
TurionPowerControl v0.22
MSVC Project source code (v0.12):
I also put here the whole sourcecode (and project files, version 0.12) and binaries compiled for x86 and x86-64 for Windows using Microsoft Visual Studio C++ 2008. You can grab them here:
TurionPowerControl v0.12 - MSVC Sourcecode and Project Files
-
-
Yeah, I have noticed the spikes. Why it happens I do not know. Although in my case it happens very infrequently. I have been using Puma State Ctrl on my ZM 86 for a while now and wouldnt mind trying out yours if you have a 64bit version available.
-
Same here, I have the same spikes on my ZM-82. I never noticed this before since I rarely use vista's high performance setting. However I would have noticed this in the past because I used RMclock on my previous TL-50; but since RMclock doesn't work with the newer AMD processors I never noticed that this overvolt was occurring.
This is probably a CPU errata. -
Oh thanks god someone replied
Unfortunately I have no 64bit version available at the moment, but I'm planning to a build a specific version as soon as possible, and maybe post here a copy of both 32 bit and 64 bit versions.
It would be nice if some people with RM and QL processors show up here, because I would add specific support for those processors too (actually official support is just for ZM processors).
About the spikes, I got tons of them when power profile is set to maximum performance. Actually I don't like them at all, I really can't get used to the fact that my processor goes overvolted and they caused me some issues with low latency asio-based audio software (like buffer underruns with fruityloops).
I noticed too that if I touch any of the pstate 6 parameters (VID, DID or FID) with my program, those spikes and transitions to pstate 6 just stops and the processor goes to behave like specifications say.
-
I also notice a slight overclock when the CPU is running at maximum speed and under heavy load. For instance sometimes it goes beyond 2200mhz once it almost reached 2300mhz, could this be the possible reason for the overvolt.
Anyway I haven't seen this overvolt phenomenon on anything other than the high performance setting so far; for me it hasn't occurred when I am running in the power saver or balanced setting(atleast I haven't seen it during my monitoring so far). I really have a strong feeling this is a cpu errata. -
It might just be an error with the AMD power monitor program as CPU-Z doesn't report 1.2v for my ZM-80.
I have top voltage set @ 1.012V using pumastatectrl. CPU-Z reports at as 1.012V while AMD power monitor reports an flip-flop of 1.013V and 1.200V.
My High performance Processor state setting is 100% min/100% max for plugged in. -
Well actually I don't think it is a power monitor mistake. CPU-Z has a much slower update rate, but on my machine it still reports 1.200 volt sometimes.
To be sure about readings I made a monitoring feature in my software that tracks realtime pstate changes asking directly to the processor's Machine State Registers every 50ms and registers transistion to other pstates than 0, 1 and 2. A one minute monitoring reports this:
Code:Turion Power States Optimization and Control - by blackshard Detected CPU: Family: 0xf Model: 0x3 Stepping: 0x1 Extended Family: 0x11 Extended Model: 0x3 Processor has 3 Power Planes Monitoring... pstates:6 Detected pstate 6 on core 0 pstates:1 6 Detected pstate 6 on core 1 pstates:1 6 Detected pstate 6 on core 1 pstates:2 6 Detected pstate 6 on core 1 pstates:1 6 Detected pstate 6 on core 1 pstates:2 6 Detected pstate 6 on core 1 pstates:2 6 Detected pstate 6 on core 1 pstates:1 6 Detected pstate 6 on core 1 pstates:1 6 Detected pstate 6 on core 1 pstates:2 2 ^C
Trying to launch the app without any flag shows accepted command switches.
Launching the app with -CM will start monitoring sequence (use CTRL+C to terminate the session), while using -l switch will show pstates table.Attached Files:
-
-
I can't get CPU-z to report the 1.2V in high performance mode. But the AMD power monitor flip-flops between 1.012v and 1.2v a few times a second.
Here's something interesting though; loading the CPU to 100% utilization using wprime, the voltage caps @ 1.013V and never peaks into 1.2V as according to AMD power monitor.
Same if I set wprime to 1 thread.
Playing an MP3 or video through Win Media 11, the frequency of crossing into 1.2V is reduced.
Running an anti-virus scan with a sustained CPU utilization rate above 33% also prevented the voltage from crossing into pstate6, 1.2V. Same with doodling in ArtRage which while doodling maintains a CPU utilization rate above 33%.
So I suppose the conclusion is that it only goes into P-state6 (1.2V) at relative idle and not under any appreciable load. Must be by design.
I wonder if those who have not undervolted experience this jump to 1.2v, Pstate 6? -
Yes, exactly same to me, with and without undervolting: they are much frequent when idling.
AMD Power monitor shows also frequency switching from 2100 to 1050 Mhz
If you can run my program above, fire this command:
> turionpowercontrol -pallc 6 48 1 13
In my experience it stops transitions to pstate 6 immediately just by overwriting pstate 6 vid, fid and did.
Maybe try also
> turionpowercontrol -CM
It shows to me some transitions to pstate 7 too
edit: since I don't know your processor model -
-
Damn.
Try the attached archive: i substituted the .sys driver with the x64 version. Some people say that sometimes works.
I can't access a x64 machine at the moment.
Just give it a chance.Attached Files:
-
-
-
Yeah, I can confirm it as well.
-
I will lose some hours tomorrow to let visual studio express compile a x64 project, so stay tuned -
Ok it compiles and runs on a windows xp x64 machine.
Attached there is a small txt with some clarifications.
Please report -l command output or errors.
However the pstate6 issue is reported on an athlon x2 QL too.Attached Files:
-
-
-
What command you fired?
To set vddnb to 1.550 you had to pass 0 to -nbvid command switch.
However processor won't allow such high voltage to be passed to the voltage regulators: it will do internal filtering and cut to 1.200 (VID 28 is maximum, if I remeber correctly). Anyway AMD Power monitor will still report wrong value read from registers. Practically VID value cannot go below 28 and over 64, the program will allow to, but values over ranges will be cut by processor itself.
About changing FID, VID and DID, changes to the pstate table become effective when a transition to a different pstate happens, so after firing commands, try to do something like opening a browser or a folder to induce some load on the processor. -
As far as the nb is concerned i ran this command .exe -nbvid (60) which should result in the nb vcore to 0.8V from the default 0.9V but instead the power monitor started showing 1.55V. I tried running wprime but it didnt change the nb vcore at all. -
I think I found your problem: don't use parenthesis!
I'm sorry, I didn't write it in the txt file.
Usually parameters inside a couple of round brackets indicates a mandatory parameter and are not part of the parameter itself. -
Hello, I'm raising this thread up because there are new development on this fact.
I recently completed a port of my program (the same you can download somewhere in this thread) for linux (fedore core 10 x64).
On my distribution it works exactly as Windows version do.
I made some checks and found that also Linux has the same issues I report with Windows! Attached screenshot just shows same issues.
At the moment we know that:
- Happens on Turion ZM/RM/QL processors (all 65nm parts, in practice)
- Happens on HP and Acer notebook, so it seems to be not manufacturer specific
- Happens on both Windows and Linux OSes.
If someone wants, I can share source code to let you compile on your specific distro.Attached Files:
-
-
QL Family is the same as RM and ZM family, but they have 2 usable pstates instead of 3. They support as low voltages as RM and ZM do.
A guy on amd forums reported nice results with QL-60 processor, and he reported pstate 6/7 anomaly too. -
With my program, using the appropriate command switches, you can set your idle frequency to 500 Mhz, for example (=> less heat, more battery life), and downvolt to 0.800v or less (again, less heat, more battery life).
You can also reduce northbridge voltage and highest performance pstate parameters to tweak your processor.
Using -CM command switch you can also verify if your processor has odd transitions to pstate 6 and 7. -
PState 0 has vcore around 1.100volt (depending on processor frequency), while pstate 1 has vcore around 0.950volt.
You have to tweak these two values to obtain some energy saving, just don't take care of other pstates because they are never used (except for pstate 6 and 7 related to the issues I'm talking in the first page of this thread)
A command you can issue is:
TurionPowerControl -pallc 1 60 1 12
This will impose both cores to run at 0.800volts (vid=60) instead of 0.950volts when it is in idle state (pstate 1, for ql processors) at 1 Ghz frequency (did=1 and fid=12 mean 1 ghz frequency, see the readme.txt file for the formula).
You can also try this:
TurionPowerControl -pallc 1 64 2 12
This will let both cores to run at 0.750volts at 500 Mhz when idle, instead of 0.950volts at 1 Ghz.
You may also try this newer build (linux source code included):
Link to TurionPowerControl -
Is there any way to set all three pstates and VID's at once. What I want to do is to create a task to set it to run TPC on boot up and have it set the VID's to all three pstates?
-
For example, I created a task in task shedule with following command:
TurionPowerControl -pallc 0 37 0 13 -pallc 6 37 0 13 -pallc 7 37 0 13 -pallc 1 62 1 13 -pallc 2 64 2 13
It will set
1.0875@2100Mhz for pstate0
1.0875@2100Mhz for pstate6
1.0875@2100Mhz for pstate7
0.775@1050Mhz for pstate1
0.750@525Mhz for pstate2
It worths noting that (*for me*) programming pstate6 prevents automatic transitions to that pstate. The same doesn't happen for pstate7.
Other people isn't able to program pstate7 at all: touching it causes machine crash. -
-
Hi.
Anyone has tried to undervolt the northbridge? If so what were the results in terms of heat reduction and battery gains?
Anyone has made some tests to heat or battery life regarding with and without the p-state fix?
I'm using the Pumastatecrtl to undervolt the cpu and i also see some peaks (not that much) in the amd monitor (toshiba with a ql-60). I'll try this little program and post the results.
Thanks to all.
Thanks to the programmer -
I too am having the 1.2 V spike, and I downloaded your software hoping it could fix it, and I have no idea how to use it. I click on the .exe, and cmd comes up for a split second and then closes. What am I supposed to do?
-
Lord, you have to use the command prompt to run the software, it is a command-line program.
There's a readme file inside the archive, if not you're not using the latest version you can grab it here:
http://amdath800.dyndns.org/amd/tpc.rar
Extract the archive into c:\ (for example),
then go to accessories -> command prompt and run it as administrator
then write
cd \TurionPowerControl
then do (if you have 32-bit windows)
cd x86
or (if you have 64-bit windows)
cd x64
then write
turionpowercontrol
and so the program starts, showing possible options. Take a look to the readme file for some usage suggestions -
-
I can't get it to run under Ubuntu 9.04 x64, here's the program output:
Code:un1qu3@Anya:~/Desktop/TurionPowerControl/linux src$ sudo ./TurionPowerControl -l Turion Power States Optimization and Control v0.11- by blackshard cpuid:open: No such file or directory Cpuid_Fn0 Instruction failed Error: unable to get processor specifications un1qu3@Anya:~/Desktop/TurionPowerControl/linux src$
Edit: I have loaded the msr kernel module and the files are now available, but it still says the same thing. -
Turion processors are bad............ Get Intel.
-
I have an Intel C2D E6550 in my desktop computer, and it is overclocked to 3.67GHz, i also have a voltmodded HD3870 which will get upgraded soon. The C2D runs very fast and i am happy with it, but for my laptop i decided for an AMD/ATI combo. Reasons: Price and availability. I really wanted no lower than the HD3470, and i couldn't find a more balanced configuration for $750. If you don't believe me, well you're free to drop by here and find one for me with an Intel chip, with the same price tag and same level graphics.
Anyway, i have bought this laptop and i like it (apart from the fact that it is too shiny for its own good, really), and i am trying to make it run cooler. What's your problem? -
You need the cpuid kernel module too, and then you need permission to open the device files. I just run it as root...
-
Thanks, it works now. Let's see what it can do.
Edit: It seems to be working as i can change the speed and listen to the fan rev up or slow down. However my CPU monitor applet isn't indicating the correct speed, neither does cat /proc/cpuinfo. Another reason to go back to Windoze.
Oh btw, i have noticed that my CPU has a third frequency, 800MHz. The corresponding pstate was disabled and the VID was wrong, however i set that and switched to it, but i have no idea if it worked or not. How can i find out?
Edit: I managed to crash my DV5 by setting the voltage too low. Now i know it works.After reboot i found some values that work for now, 0.9250v at 2GHz and 0.8750 at 1GHz. I now have a QUIET laptop.
Edit 2: Down to 0.9250/0.7625, verified with CPU Burn-In. -
Hello all -- never posted here before but have lurked for awhile. First off, my tech level is fairly high (I build systems) Purchased a new notebook earlier in the month (an HP Pavilion dv4-1220us), and have been having a very irritating problem about processor speed not staying constant... I am essentially trying to do the OPPOSITE of you folks, who want the processor to lower itself most of the time -- I want it to run at MAX speed most of the time since it's a second desktop for me. Nevertheless, it seems like I have bumped into the same issue.
No one has been able to help me at other forums, HP is fairly clueless, and after hours of Googling, I found this thread (and blackshard's on a few AMD sites)
The notebook's processor is 2.1GHz dual core Turion x64 -- RM-72, and is throttling itself down by changing the multiplier dynamically from 10.5 to 5.25 (even when set at max performance). It is spec'd to run at 2.1GHz, and by looking at the performance in real-time with CPU-Z, I see that it hits that mark (or slightly exceeds it). The problem is that it randomly changes the multiplier from 10.5 to 5.25 -- meaning that the core speed drops from about 2.1GHz to 1.50GHz. The shift doesn't even seem to correspond based on processor load -- it just won't run at a constant 2.1GHz.
The laptop shipped with Vista Home Premium 64-bit, so I went to the Power Management Options in Control Panel and set it to High Performance. Additionally, I set "minimum processor state" and "maximum processor state" on both AC and battery power to 100% -- if this was working correctly, the processor would run at 2.1GHz all of the time, and if I changed it to 50%, it would run at 1.1GHz all of the time.
Windows Power Management is working fine if I set it to throttle lower -- for instance, if I set min/max processor settings to about 50%, it will lock the multiplier at 5.25 and run consistently at about 1.1GHz. If I push it past 50%, it starts shifting the multiplier again randomly (all the way back up to 10.5 for ~2.1GHz. I've noticed that during this, there are also slight fluctuations in the Core VID (voltage) showing on CPU-Z as well, making me wonder if this is the source of the fluctuation.
I am seeing blackshard and other comments about the "transitional" pstate that shouldn't even exist at this exact CPU speed!
I wrote HP support and they suggested I flash the BIOS with a recent update geared to Vista SP2 (revision F.49) -- it did nothing except possibly mess with the fan settings and perhaps make the machine run hotter -- ugh.
They then suggested I look at Vista's power management settings and tweak the minimum processor state, which was already done before emailing them to begin with -- a canned response if I ever saw one...
Finally, they suggested that I do a system restore through Vista, but I turned this feature off when initially setting up the PC (perhaps an oversight, but I was trying to free up disc space until I had everything "just right"), meaning that I would have to do a complete factory refresh of the machine by using HP's Recovery Manager -- reinstalling every single device driver manually on top of that -- I have a funny feeling it won't help and that this post reveals the source of the problems: some type of design flaw in either the processor family or motherboards that a number of these laptops are shipping with.
Based on what I've written here, do you think that this is probably the cause of my problem? I am planning on testing the software to see if it helps. -
Forcing the power state in this program should work. However, when i had Vista, the Maximum Performance scheme did make the CPU work at 2GHz all the time. Dunno what's wrong with yours, but i believe it has to do with HP's craptastic BIOS.
However, i strongly believe you will see any gains. The reasons why you would want to disable power saving options on a desktop system usually have to do with them inducing instability when overclocking.At stock speeds (don't think this lappy can be oc'ed) everything should be fine.
-
To get maximum processor speed all the time you have to set High Performance as Windows energetic profile.
But it is not enough, since there exist the problem I talked about in the first post and red11 seems to experience too.
As previously said, this happens because there are transitions to pstate 6 and 7, that are not described anywhere in the documentation.
To prevent any transition to pstate 6 i found that using this command works:
TurionPowerControl -pallc 6 48 1 13
actually I don't know the reason why, but overwriting pstate 6 with same (or different, it doesn't matter) parameters STOPS transitioning to that pstate.
The same doesn't apply to pstate 7, but actually I managed to mitigate the problem with this other command:
TurionPowerControl -pallc 7 36 0 13
this actually write the parameters I have in pstate 0 on pstate 7, so transitions from pstate 0 to pstate 7 doesn't require stabilization time, and doesn't overvolt the processor too.
About this problem I wrote to both HP and AMD support. AMD support told me to ask HP, HP support told me they don't care about "thirdy-parties" software reporting infos (I used AMD Power Monitor, then my own software) -
TurionPowerControl -l
BTW, you can set any frequency below 2 Ghz using FID and DID combinations, also it is possibile to use more pstates than default (2 on QL processors, 3 on ZM/RM).
To gain access to more pstates, first you have to set the psmax parameter, for example:
TurionPowerControl -psmax 2
This will set psmax to 2 instead of 1 on your ql processor.
Then you have to force (using the -fo parameter) a transition to pstate 2, for example:
TurionPowerControl -fo 0 2 -fo 1 2
This command will put your processor to pstate 2, BUT this is useless, since your operating system will switch to a "regular" pstate as soon as needed.
To check your current processor pstate you can launch:
TurionPowerControl -CM
this will put the program in Check Mode that continously shows current pstates and reports any transition to pstate 6 or 7. -
I wanted to say THANKS because no one from HP was any help, nor could I find help anywhere else on the web.
I did have a couple of questions to help me fix the problem.
First, the following is a list of my pstate tables given to me by your program:
---
Based on this, I used the following command to alter pstate 6 and pstate 7 on both cores:
---
TurionPowerControl -pallc 6 28 1 13 -pallc 7 34 0 13
---
What this does (I think), is overwrite pstate6 with the default STOCK values (as shown in the table above), but nevertheless stops the random, unecessary transitions to pstate6.
Further, it overwrites pstate 7 with the default STOCK VALUES of pstate 0, which, as you say, will prevent transitions from pstate 0 to pstate 7 from overvolting the processor and requiring stabilization time.
Am I correct in understanding what these commands do given the pstate tables I've posted?
Also, do you feel that this is a sufficient solution for my purposes? (I am not interested in undervolting, just to stop the spikes). I am not sure if I am putting my hardware in danger by effectively getting rid of these transitions.
Finally, how would I go about getting your program to run for me automatically on boot? I am on Vista Home Premium 64-bit.
Again, thanks so much for your help! -
Actually an user on amdzone forum told the overvolting behaviour is probably due to get some more stability. It is credible, since it would allow the processor to ramp up voltage between pstate1 and pstate0 faster.
ATM I'm using this fix for months and I experienced no apparent danger or instability on my notebook (dv5-1025el), so I think this trick is safe enough.
BTW, it looks like that ALL 65nm Turion/Athlon processor do the same thing, indipendently from the notebook brand.
To let the program start automatically on every startup, you can use the Task Scheduler (Control Panel -> Administrative Tools -> Task Scheduler) and create a new activity that start at boot or at user access. Maybe at user access it is better because if you turn your computer in standby/hibernation regular settings will be restored. -
I bumped it up a notch to 0.9375 last week as it was CPU Burn-In stable but VirtualBox didn't quite agree with that. With 0.9375 everything is rock stable.
Also, with the settings you see, my battery life has increased from 1:30 to 1:50. I was able to watch an entire movie when i was on the bus on my way here (i'm now at my grandparents, in another town than my home), and still had about 10 minutes of battery left.
So i take it there's no real way to keep the CPU at 800MHz? That'd be cool... Hmm. I can use the CPU Frequency applet in the Gnome panel to force 1GHz or 2GHz on each core or set the freq governor if i want the changes to be automatic.
Wonder what happens if i set the applet for 1GHz and force a transition to pstate 2. Since the frequency won't be reported, benchmark results and fan speed will probably be the only guidelines, but if it'll work it should get slower, and that's not hard to feel.
Edit: I used the -CM option and got transitions to pstates 6 and 7 detected, so i set those to 0.7625v as well. It's all good for now. But i wonder if those transitions really affect anything, because there was no change in fan speed.
Edit 2: Whoa, so you mean i can do THIS???
Code:core 0 pstate 2 - En:1 VID:63 FID:0 DID:1 Freq:400 VCore: 0.7625
Yes yes another edit: I didn't believe this thing can go as low as 400MHz so i set that to pstates 0 and 1, and booted up my XP virtual machine. May i say, everything went slooooooooowwwwwwww. So it's for real. FL Studio running in the VM used up 80% CPU just by sitting idle, i don't want to tell you what happened when i actually tried to play something. 400MHz huh? If it's enough for playing movies, i'm all for it. -
Cool, gonna have to try that. Of course my ZM-80 already idles at 525MHz so 400MHz shouldn't be a big deal. How about 2 or 300MHz, hmmm...
-
400MHz is as low as mine goes. And yes it still does play video, tried HD 720p and it's smooth as silk.
Hooray for GPU accelerated video playback.
I have noticed something interesting about pstates 6 and 7 - once i dropped the voltage on them my laptop started locking up if running VirtualBox or Opera. It locks up entirely and the caps lock LED starts flashing. However CPU Burn-in does not fail... And it did fail when i set the vcore too low in pstate 0. I have reverted them back to the stock 1.2v setting, it seems the CPU somehow needs these pstates to switch from state 0 to 1 properly? If so, which is the real voltage, the one set to pstates 0 and 1 or the one set to 6 and 7? I'm not likely to find that out however, as i can't seem to get a real-time voltage reading under Linux. All i know is that undervolting with this program does work, and that undervolting the 6 and 7 p-states only made the laptop unstable, heat output and fan speed were exactly the same. -
Well, I was able to run both cores stable at 262 Mhz using divisor 3. Once I remeber also a 131 Mhz with reserved divisor 4
but was truly slow and locked up when trying transition to upper pstate.
pstate maximum is a register in the processor, and tells the processor how high on pstates it can go. Look that lower pstates mean higher performance.
psmax set to 1 means that the processor isn't allowed to go over pstate 1. On my ZM-80 psmax is set to 2, so I got pstate 0, 1 and 2.
OS cpu frequency scalers won't simply take care of that parameter, so if you set psmax to 3, 4 or 5, OS scalers won't be affected at all.
Anyway it affects the possibility to force a transition with turionpowercontrol, as I stated above.
So, if you want to run your processor at a fixed frequency, disable your cpu scaler (or lock it in any specific frequency), then use turionpowercontrol to force the pstates you like.
Pstate 6 and 7 are quite delicate. Since it is not really clear what they do and why they are invoked. It's a matter of conjecture playing with them.
Actually if you overwrite pstate 6 transitions to that pstate stops, so pstate 6 goes out of the scene.
PState 7 anyway is a real problem, because I found that playing with it often causes lockups with blinking leds.
I suggest you to overwrite pstate6 with it's own parameters and leave pstate7 alone.
Consider also that new parameters for a pstate become effective only when a new transition to that pstate happens.
For example, if you're using cpu burnin, you got probably both cores in pstate 0. If you overwrite pstate 0 while cpu burnin is running, your settings are not immediately applied. You have to stop cpu burning (letting cores go in pstate 1) and then run it again.
If you're using windows, use coretemp to monitor actual frequency and vcore settings.
Also I found fruity loops is a killer for my machine: while prime95 runs fine with 1.0500v on pstate0, fruity loops crashes very well! I had to raise to 1.0875v to get full stability, with pstate 6 patch. -
I think i have said enough times that i am not using Windows. I've always been a Windows guy and only played with Linux a bit every now and then, but on this laptop i had two serious reasons to switch:
1. Audio was stuttering every 30 seconds or so. I understand software mixing sucks, but this was unacceptable. The DPC latency checker was showing huge red spikes when the stutters occured, so one of the drivers wasn't behaving well. Didn't take the time to figure out which one.
2. I haven't had a virus for over 3 years (and i don't run a background AV), and 10 minutes after i connected this thing to the 'net all sorts of weird things started happening. It got a nasty trojan that kept replicating itself, and it would crash almost everything even in Safe Mode. One of the trojan's files was called hp.exe... Hmmmmm. I managed to get rid of it with ComboFix, but regardless, it was format time for me. Either HP's software's got tons of security holes, or there's a conspiracy involved to sell that BS Norton. We'll never know i guess.
I always start CPU Burn-in after any changes in turionpowercontrol, so this can pretty much be ruled out. Thanks for your info on pstate 6, i'll try overwriting only that tomorrow, right now it's doing something i can't afford to crash.
Oh, so it does go lower than 400MHz eh? I'll play with it a bit more. You use FL Studio as well? Making music or just playing around? -
yep, I changed my pstate2 DID and now it's running at 262MHz instead of 525MHz. I think it's made things a couple degrees cooler, which is a win.
-
Not to hijack the thread or anything but has anyone here tried K10STAT a new GUI based undervolt tool for AMD griffin CPUs? You can read about it here. I have tried it and it seems to do a good job as well. -
Check this out.
Seems to be stable with switching as well. Only problem - It's TOO slow. Really.However, messing with the voltage even on pstate 6 alone results in the laptop hanging with the caps lock led blinking.
So, a little request maybe? blackshard, any way for additional pstates to be available in the Linux CPU frequency switcher? I can code a bit of C++ and Python, maybe i could help. -
I see you have a 2.2 Ghz part, Your idle frequency should be 550 Mhz if I am correct, unless you changed FIDs.
I had instability while was toying around with FIDs, expecially during transitions. I suspect that this is related to memory frequency, but can't be sure at all.
BTW, K10STAT is a nice addition to the tools able to tweak turion processor. It has nice automatic c&q support and gui fid/did/vid tweaking, but it unfortunately it doesn't allow toying with other pstates than 0, 1 and 2.
[To all newer AMD Turion owners]Strange power handling on hp dv5
Discussion in 'HP' started by blackshard83, Apr 19, 2009.