Strange Problem when parking my core

Started by Pol123, February 18, 2016, 04:01:57 PM

Previous topic - Next topic

Pol123

Hi'

I have a strange problem and don't find any answer or information on Google  :-[

I have a Teclast X98 Chinese tablet with Windows 10 and with Windows 10 most advanced power options are disabled in the control panel, so on stock setting I had very poor performance on battery especially in sleep mode.

I found how to enable all the setting I want by adding/changing Dword "Attributes=2"  and setting appears instantly no need to reboot at all.

So I fixed all settings to have optimal settings for my tablet on battery BUT there is a mysterious problem with ONE setting:

"Processor performance core parking min cores" I put 0% on battery and 5% on AC (I pretty sure 5% is the same as 0% for the computer :P )and as soon I restart Windows setting is reset to both 100% (All cores) .

All others setting stick fines from what I see except the "Processor performance core parking min cores" that is reset to "default" 100% at each boot or restart.  :o

Why it happen ? Why it can be that change the setting ?

By the way the setting work fine till I boot, 3 cores goes to sleep but when I restart everything is at 100%  :P

I tried to find more information about the Dword "Attributes" ,  On my setup with "Connected Standby feature" enabled "Attributes" 0 don't work fine I can see the setting ONLY if I disable the "Connected Standby feature" to change the setting and re-enable it after the change.

But if I use the Dword "Attributes" 2 it will appear immediately with "Connected Standby feature" enabled, no need to disable and re-enable to change settings.

What I'd also like to know is the meaning of "Attributes" 0, 1, 2 or 3 ?   but no information on Google :(

Any help will be appreciated, worst case I will do a script with PowerCFG to apply the setting at each restart but it's an UGLY fix...  :-\

Same thing happen if I use ParkControl since it a GUI for Powercfg ;-)


Here's my whole settings un-hidden:




Regards



Pol123


I found a bug with ParkControl: On my which has  when I use parkcontrol it remove option from the control panel since it change the value from "Attributes" = 2 to Attribute = 1 and on with "Connected Standby feature" enabled you need to use "Attributes" = 2 to keep the feature un-hidden in the panel control.

I found that when I edit the value as an admin directly in the registry that my settings stay there on restart/reboot...  I tried to use ParkControl started in Admin mode to change the setting but to avail they reverted on the next reboot.

I was thinking about some permission setting problem in the registry but even when I used  ParkControl started in Admin mode they reverted on next restart.

I'm almost more  confused than before !  :o :o :o

Jeremy Collake

If I understand right, the change appears to be taking place, but it's reverted when you reboot.

SOMETHING is reverting it. Do you have any OEM utilities installed? Any power management utilities? Any other optimization software?
Software Engineer. Bitsum LLC.

Pol123

QuoteIf I understand right, the change appears to be taking place, but it's reverted when you reboot.

SOMETHING is reverting it. Do you have any OEM utilities installed? Any power management utilities? Any other optimization software?

It was my first though also BUT when I changed the key directly in the registry (with Regedit) the changes "stick on" and don't revert, and even when I change it with ParkControl in Admin mode it change till I restart that's why I'm confused ???? :-\

I was looking in my autoruns the only entry that is related to this is DptfPolicyLpmServiceHelper.exe and it's a service from Intel for the Chipset.

It would be strange that the service change the setting when I made it from Power setting applet or from ParkControl but not when I change the setting directly with Regedit.


Also when Parkcontrol change the Attributes to "1" instead of "2" (since I have Connected Standby Feature enabled) the setting stick cause I can't see nomore the setting in the Power applet till I revert it to Attributes to "2". You should read in the registry to see if connected Standby is enabled or disabled before choosing the attributes.  ;)

Jeremy Collake

Are you sure you are changing the right registry value(s) when you do it manually? The reason this is not recommended is because this setting is stored multiple times, twice per power plan. So, it's not impossible that you are modifying some other power plan's settings, and that power plan isn't reverted.

Do note that when you make these manual changes, ParkControl may errantly report core parking is ON/OFF (it may be wrong about the actual status). So if you are using ParkControl to determine if your change 'held', it may be giving you a false impression. Similarly, if you are just looking at the registry, again it may be the wrong registry value. One of these scenarios is all that makes sense to me.

I still place my bet on an, as yet unidentified, application making this change. Maybe if you give us a screenshot of your installed application, or a classic 'HiJackThis' dump of installed programs, maybe we can guess.

Thanks for the heads up on the attribute error, I am looking into that!
Software Engineer. Bitsum LLC.

Pol123

I don't have only 2 plans since I have my custom plan so there is 3 place in the registry to store those date under one so I changed the 3 ;-)



The only things that can affect the CPU at start are the Intel services that control the cores/option  it could be a bug in the DPTF drivers Intel is famous at that :P



At least it's not something I will change everyday but I'm curious to find why only those registry key  :o




edkiefer

"
"Processor performance core parking min cores" I put 0% on battery and 5% on AC (I pretty sure 5% is the same as 0% for the computer :P )and as soon I restart Windows setting is reset to both 100% (All cores) ."

I really don't know but maybe those are to low a value, did you try like a value of 10% for each , some other than such low numbers .
Unless those are defaults .
Edit: seems 0 min is fine with increments of 1 .

I did a quick search and could not find anything on attribute values.

Maybe run a energy efficiency report on system to see what warnings/errors pop up in report.
http://www.howtogeek.com/howto/7638/use-powercfg-in-windows-7-to-evaluate-power-efficiency/
Bitsum QA Engineer

Pol123

Values are fine, my "main problem is to understand why when I use the Windows power setting applet or ParkControl to change the settings for the ""Processor performance core parking min cores" the setting is resetted on next restart. But If I change the settings directly in the registry key via regedit the settings are not changed on restart/reboot so everything is fine.

The only thing I see at this point is a bug in the Intel CPU Driver that reset them on ech boot when the services start... I can't disable those services cause they are very important to manage the CPU.  :P

You're right there is nothing on the web about attribute values, from now we understand that value "2" is for computer on Connected Standby.

Regards !  :)

BenYeeHua

No info for me too, but I think it may means let's driver handle it?

So far I can only found this one, which is disable the connected standby, and he is telling that setting Attributes=2 .
http://forum.tabletpcreview.com/threads/connected-standby-battery-drain-issue.60494/page-6#post-384290

And yes, it is possible that software from driver is changing it, I had my Asus Touchpad driver changing powerplan values for me a lot of times, but not the Asus P2G(power4gear). ::)
I guess it is they want to save power by parking the core, but doing it in wrong ways?
---Off-Topic
Anyways, I think their new Intel Speed Shift may be the solution that allow CPU control itself.  :)
http://www.anandtech.com/show/9751/examining-intel-skylake-speed-shift-more-responsive-processors

Pol123

QuoteNo info for me too, but I think it may means let's driver handle it?

No not at all since since the default in Windows 10 Fresh Install is all 4 cores running it kill battery on portable devices.  :P

Everything is fine for me, all settings are no longer hidden and optimized  so my "sleepstudy report" is perfect, the bug is just that for setting minimum cores I need to write it directly in the registry with regedit. But for all others setting I just use the advanced options panel.  :)

Jeremy Collake

Software Engineer. Bitsum LLC.

BenYeeHua

#11
Quote from: Jeremy Collake on February 21, 2016, 07:59:28 PM
I wrote about that in Nov 2015 here: https://products.bitsum.com/product-update/intels-speed-shift-validates-parkcontrol-and-process-lasso/
So, it is all handle by Intel CPU hardware then, just like the poor IVR and TSX and TXT and whatever, will start shifting to hardware solution. ;)

And ya, your hyperlink is broken, you should fix it. ;D

Jeremy Collake

Software Engineer. Bitsum LLC.

Pol123

I need some help !  :o

I can't find any information about a section in the Advanced settings of Power Options.

I'd like to know what those 3 settings change and how the influence speed VERSUS more battery time ?

Any clue could help me !

Here's the settings:


Regards  :)

Jeremy Collake

For every power plan, there are AC (power plugged in) and DC (battery) settings. So, you can choose different settings for when on battery power.

Definitely disabling core parking and CPU frequency scaling, as ParkControl is designed to do, is about increasing *performance*, and if your concern is a good balance between performance and battery life, then you are probably better off leaving these ON for at least the DC settings of the power plan(s).

You can also make use of IdleSaver, which will let you run in a higher performance power plan, but drop you down to a more conservative one when you go Idle.

As for these specific 3 settings - I'm not sure anyone has an answer, other than the obvious: The more aggressive the core parking, the more power you save, at the cost of performance. I can not comment more on these 3 advanced core parking settings at this time as I would need to do some study and research to give definitive answers as to how much they influence power consumption.
Software Engineer. Bitsum LLC.

Pol123

Thanks for the Quick Reply.


I understand the most power options and  parking core options except those 3 options  :-\

I can't find anything on Google, Microsoft Documentation and Intel Forum about them, I'm tweaking my Windows tablet to have the best battery time in Sleep mode with Powercfg Sleepstudy as reference.

I see that "interrupts" take to much CPU time and try to find a way to lower their talking to my CPU in Sleep mode:





If you can point me to a resource that could help me on this "problem" I really appreciate it.  ;D





Off Topic: Do you think you will do a version of ParkControl for  Windows 10 computers with Connected Stanby enabled where "Attribute = 2" should be used instead of 0 or 1 ?

Here's the Registry Key to see if connected standby is enabled or not: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Power\\CsEnabled

Jeremy Collake

Yea, I noticed you were asking a more specific question after my first answer.

I'd say you know as much about the effects on power savings as we do. I'm sure someone has done internal studies, but I do not know if any have been published.

At Bitsum, our focus has primarily been on performance over power savings, though we did the obvious when it comes to mitigating power consumption (e.g. IdleSaver). The finer details of the numerous available advanced power settings are not something we've studied, as turning off those entire mechanisms accomplishes our goal.

We assume if one is trying to achieve Balance, then they are pretty well balanced in their stock or OEM configuration - and have the 3 tiers of a balanced config - "Power Saver', "Balanced', and "High Performance" .. as even the stock High Performance retains power saving options.

Reducing the number of interrupts usually means you need to reduce activity on the applicable device(s). From there, you are just doing marginal tweaks to the way those interrupts are issued or handled by the device driver. Of course, most hardware devices can go to sleep with everything else.
Software Engineer. Bitsum LLC.

Pol123

Thanks for your reply,

I can tell you a little bit more about how it work with OEM Intel & Microsoft since someone send me internal leaked documents from Intel BayTrail CPU tablet development by OEM. You will have better understanding so it can always be useful to figure how it work.

Intel sell generic devices design based on specific CPU/Chipset to OEM they come with BASIC drivers sources for the OS they are intended, Off course everything is sold by Intel with big NDA agreement and that is one of the reason it's hard to have information.

On their side when Intel develop those design their engineer develop the basic drivers in collaboration with Microsoft. But note that these are BASIC/GENERIC driver without any optimization, it even truer when they are developed for a newer MS OS not released.

So the OEM buy the design and it can do some slight change to make his products more "special" than competitors, that's why almost every OEM HP Teclast, Dell have almost the same products. The only big changes from an OEM from another is the Quality of the Boards/component it use to build the product. The drivers don't change a lot cause if a big revision is needed Intel will provide a generic driver to all OEM.

But for the final custom settings of the devices like "power settings" for shipping the products it's to the OEM to choose which one he want to tweak, improve from basic setting from Intel or just leave the plain settings.  The bigger is the OEM the more the OEM have access through Intel to more knowledge about the drivers setting or he can his engineers can suggest some change direct to Intel.

Microsoft is almost only involved with the OEM for selling Windows, there is no real technical support from MS to the OEM (unless a really big Issue), almost everything related to the OS  and hardware is handled between Intel and Microsoft.

That's why it's hard to have information and that we have bugs sometime that stay for many years... Intel do the Basic design for hardware and software ---> OEM customize a products based on Intel design/specification ---> Microsoft sell the OS to the OEM and change the OS regularly inducing lot of bug ---> OEM make complaint to Intel to fix the bugs ---> Intel ask collaboration of MS to fix the bug ----> Intel release a new generic driver/software to all OEM ---> OEM repackage the driver/soft according to their own customization and issue an update fix to end user.


So that's a lot of room for many bugs to be left, especially on exotic configuration  :o :o :o

APPLE is the king with quality assurance since everything is made "in-house" hardware conception, OS, design, everything is handled by the same company so it's obvious they have less bug and usually more overall quality products.

Regards  :D


Jeremy Collake

That's a very well articulated summary of the PC ecosystem. You're right on all points. It's not anything that's news to me, but may be to readers.

Certainly I can imagine that the production chain results in less than optimal default power settings, due the to OEM customization, and especially the smaller OEMs not having the same level of access to the hardware data and support as the larger OEMs.

So, the complexity of hardware and software combinations, combined with inefficient 'end result' oversight, absolutely does leave a lot of room for potential optimization - in either power savings or performance - the latter being where we stepped in, seeing the inadequate handling of core parking and frequency scaling by the OS. Then Intel stepped in, announcing they'd just start doing the frequency scaling  on-chip ;).

Since I spent a few years in embedded linux work, I can tell you that Wireless APs/Routers are very similar. The chipset manufacturer (there are only 2 or 3 big ones) provides the chipset and OEM drivers, template PCB, and a template firmware - these days mostly linux. Anyway, then the retailers like Netgear and Linksys just wrap these chipsets in different chassis and PCBs, combine them with other hardware, develop/adapt their own firmware or extend the stock firmware, and - bam - there's a new router model. Thus, all the brands end up being based on the same chipsets and software drivers. What really differentiates them is the firmware. And *finally* some vendors have gotten good enough with their firmwares that installing OpenWrt isnt the only way to end up with a good router. ASUS, in particular, I've been impressed with. It's funny how little attention some hardware vendors pay to the software, but it's the software that makes the hardware work well, or even not at all.

It's like the classic software and driver issue with PC Printers. Some of them may have great hardware, but without the right software, they end up useless.

Of course, at least in the case of power management, we're just talking about marginal inefficiencies. And that's one word that should be remembered - marginal. How much gain of battery life, in a best case scenario, are we talking about? Nobody may know the answer for sure, but I'm sure it's marginal.

Apple's advantage in having consistent hardware from their closed ecosystem is well documented, though comes with that trade-off of higher prices and less variety. I suppose this 'battle' rages on of PC vs Mac, but I think generally we can say the PC won as far as market share.
Software Engineer. Bitsum LLC.