Windows power plan settings explorer utility

Discussion in 'Operating Systems' started by mbk1969, Aug 3, 2017.

  1. mbk1969

    mbk1969 Ancient Guru

    Messages:
    15,156
    Likes Received:
    13,128
    GPU:
    GF RTX 4070
    I guess majority of MS clients either do not bother with power management optimized for performance or do customize power management themselves.
    I suspect default settings are shifted toward power economy.
    Also too many HW platforms to optimize for.
     
  2. Donduck

    Donduck Master Guru

    Messages:
    299
    Likes Received:
    17
    GPU:
    Radeon RX Vega 7
    MS has added some new power settings for heterogeneous architecture cpu to their documents, but not present in Windows 11 yet. The names do not correspond to the names in registry.
    They are available here:
    https://docs.microsoft.com/en-us/wi.../configure-processor-power-management-options

    Below are the significant ones
    ModuleUnparkPolicy: specify unpark policy for cores sharing the same l2 chche. Since e-cores share l2, it would be for e-cores only. But I seriously doubt the necessity of parking e-cores because they are way more efficient than p-cores.

    ComplexUnparkPolicy: specify unpark policy for cores sharing the same l3 cache. it might imply there will be cpu having cores with separate l3?

    SmtUnparkPolicy: specify unpark policy for Smt threads. You can then choose the priority of unparking physical cores or smt.

    HeteroIncreaseThreshold1 & HeteroDecreaseThreshold1: specify thresholds to park&unpark class 2 cores. It seems to be for Intel's even-smaller e-cores later on, and there could be more than 5 of them.

    ShortThreadRuntimeThreshold: This one is now present in Windows 11, it specifies how long is short threads or long threads so that different threads could be run on different processor class. I.e. you can force long threads running on e-cores and sudden loads running on p-cores using SchedulingPolicy & ShortSchedulingPolicy to achieve better battery life with fewer lags, since alder lake requires at least 1 unparked p-core, that's convenient. I am still thinking how to find that magic number of thread runtime so that Windows could distribute loads more accurately.

    LongThreadArchClassLowerThreshold & LongThreadArchClassUpperThreshold & ShortThreadArchClassLowerThreshold & ShortThreadArchClassUpperThreshold: The 4 settings specify the lower&upper limit number of cores in the same processor class running short&long thread. It seems to be an easier way to limit cores than specifying percentages for core parking because you can just specify how many cores to use. Percentage is sometimes confusing when 100% cannot be fully divided by the number of threads, and the same percentage works differently on cpus with different number of cores.
     
    mbk1969 likes this.
  3. Donduck

    Donduck Master Guru

    Messages:
    299
    Likes Received:
    17
    GPU:
    Radeon RX Vega 7
    The thing is that laptops with alder lake cpu have poor battery life, and customers are enraged when they see apple m1's superior power efficiency. At least Microsoft and OEMs could have use more aggressive power saving settings by default on every laptop types except gaming ones, or they could just unhide all the settings they have been hiding since Vista.
     
  4. mbk1969

    mbk1969 Ancient Guru

    Messages:
    15,156
    Likes Received:
    13,128
    GPU:
    GF RTX 4070
    Would be nice if Windows changed power settings depending on platform - laptop desktop.
    Also would be nice to provide a wizard for tuning the power plans further.
     

  5. Astyanax

    Astyanax Ancient Guru

    Messages:
    16,674
    Likes Received:
    7,089
    GPU:
    GTX 1080ti
    It does.
     
  6. Donduck

    Donduck Master Guru

    Messages:
    299
    Likes Received:
    17
    GPU:
    Radeon RX Vega 7
    There actually is a phone company, whose alder lake laptop achieves double battery life than traditional computer companies, even though it did not beat 6800u laptops. The trick is to do smartphone-ish power management on laptops, keep a relatively low value of "Processor performance boost policy" and change the settings so that p-state&c-state can switch as quick as possible (which is also what I did on my laptop).
    And they have a pre-installed software, I suspect it could detect what users are doing and switch from multiple power plans automatically (I know there is privacy issue, but it seems to improves battery life a lot).
    The real pain is that MS and OEMs hide the power settings, and the default values are too high in terms of power consumption. Most people only knows to lower the upper bound of p-state because it is unhidden in control panel, and that doesn't really help.
     
  7. mbk1969

    mbk1969 Ancient Guru

    Messages:
    15,156
    Likes Received:
    13,128
    GPU:
    GF RTX 4070
    Details?
     
  8. Donduck

    Donduck Master Guru

    Messages:
    299
    Likes Received:
    17
    GPU:
    Radeon RX Vega 7
    @mbk1969
    btw, I have some questions in power management settings:

    1: Processor idle state maximum (9943e905-9a30-4ec1-9b99-44dd3b76f7a2) has values from 0 to 20, but a blog by MS engineer (https://devblogs.microsoft.com/sustainable-software/tuning-servers-for-energy-savings) says the max value is 14, and setting to 0 means no restriction for how deep the idle state goes. I only know intel cpu has c8 or down to c10, ryzen cpu has cc6, but never find out where do idle state 20 or 14 come from.

    2: Heterogeneous policy in effect (7f2f5cfa-f10c-4823-b5e1-e93ae85f46b5) has 5 options, and no where can I find explaination.

    3: There is an option for Processor duty cycling (4e4450b3-6179-4e91-b8f1-5bb9938f81a1), I know duty cycling was first introduced on skylake, but why is it off by default? Does it have any flaws so that MS doesn't want to enable it? Ryzen's cc6 sleep works similarly to duty cycling, does this option affects ryzen? I have read some reddit posts saying cc6 is how ryzen does power management, does it mean ryzen already has duty cycling when autonomous mode is on? The most important thing: does it really save power as advertised?

    4: This is the most confusing one. Processor performance time check interval (4d2b0152-7d5c-498b-88e2-34345392a2c5) was already in place in Windows 7, and min value can be 1ms. But 1ms control was also first introduced on skylake, and it has to be hardware-controlled. How did MS did the 1ms time interval in 2009 before skylake was released in 2015? Or is it just a mistake, any value lower than 15ms will be interpreted as 15ms? High-performance plan and ultimate-performance plan set it to 15ms, which makes sense because 15ms is OS's timer resolution.

    ps: I see core VID goes down when core parking is disabled, then I get why it is disabled by default after Windows 7, it really is a feature for servers, don't expect it could save power for laptops.
     
  9. mbk1969

    mbk1969 Ancient Guru

    Messages:
    15,156
    Likes Received:
    13,128
    GPU:
    GF RTX 4070
    Maybe server platforms have deeper C-states.

    Neither do I.

    Found at Intel forums:
    It definitely can save power.
    Since not every CPU on the market supports that duty cycling I guess MS left it off by default.

    OS kernel does not have to use timers to measure the time check interval. It can check the lapsed timespan in code circle. For hardware controlled time check interval I see microseconds instead of milliseconds.
     
  10. Donduck

    Donduck Master Guru

    Messages:
    299
    Likes Received:
    17
    GPU:
    Radeon RX Vega 7
    In fact a e3 1200v5 datasheet says xeon also has c-state down to c8.
    Here's the link: https://www.intel.com/content/dam/w...datasheets/xeon-e3-1200v5-vol-1-datasheet.pdf

    It is all policy 4 on my Windows 10 + 8th gen laptop, and all policy 0 on alder lake + Windows 11.

    I don't get it. Does it mean the clock signal will only wake cores by a fraction of time under duty cycling? Correct me if I am wrong, cores are turning on and off because of the clock, doesn't that requires higher p-states and higher voltages, by induction? It is like, there are 100 tasks, cpu could either spend 10s finishing 10 tasks every second, or 20 tasks every second and take a rest in the other second, the latter one is higher p-state&voltage.

    Is it Processor autonomous activity window (cfeda3d0-7697-4566-a922-a9086cd49dfa)? I had mistaken the unit as milliseconds until today, adding 3 zeros instantly made some positive effects.
     
    Last edited: Aug 19, 2022

  11. EdKiefer

    EdKiefer Ancient Guru

    Messages:
    3,068
    Likes Received:
    386
    GPU:
    ASUS TUF 3060ti
    On newer CPU does some of the C and P stat stuff need a reboot to work?
    I edited idle promote/demote and the autonomous activity window but did not seeing any changes in HWinfo64. My old system 3570k worked real good with idle promote/demote, no need to reboot.
    This is on a 12600k, ASUS TUF Z690 wifi D4 MB.
     
  12. mbk1969

    mbk1969 Ancient Guru

    Messages:
    15,156
    Likes Received:
    13,128
    GPU:
    GF RTX 4070
    No need to reboot.
    Are you sure you look for correct info there? Are you sure autonomous mode is used?
     
  13. mbk1969

    mbk1969 Ancient Guru

    Messages:
    15,156
    Likes Received:
    13,128
    GPU:
    GF RTX 4070
    It is not about waking the core. It is about that clock - https://www.intel.com/content/www/us/en/gaming/resources/cpu-clock-speed.html


    3 power plan values for time intervals - for P-states, for C-states and for autonomous activity window. First two were originally in milliseconds. Now I see them in microseconds.
     
  14. EdKiefer

    EdKiefer Ancient Guru

    Messages:
    3,068
    Likes Received:
    386
    GPU:
    ASUS TUF 3060ti
    I am looking at C2, C0, C6, C7 in HWinfo64 and autonomous mode is enabled.

    If there is a better way to view it, test let me know.

    My C7 is always high 90's no matter power plan at idle.
     
  15. mbk1969

    mbk1969 Ancient Guru

    Messages:
    15,156
    Likes Received:
    13,128
    GPU:
    GF RTX 4070
    What are values for idle demote/promote you have set?
     

  16. EdKiefer

    EdKiefer Ancient Guru

    Messages:
    3,068
    Likes Received:
    386
    GPU:
    ASUS TUF 3060ti
    I tired 99 for both to try and see big difference.
     
  17. mbk1969

    mbk1969 Ancient Guru

    Messages:
    15,156
    Likes Received:
    13,128
    GPU:
    GF RTX 4070
    That`s what I use for balanced power plan - performance on demand.
     
  18. EdKiefer

    EdKiefer Ancient Guru

    Messages:
    3,068
    Likes Received:
    386
    GPU:
    ASUS TUF 3060ti
    Yeah, I know, on this system it doesn't seem to change much changing these settings , C0 is always very low untill I run something hrad.

    Might be something with Alder-lake on Win10, either way its running great so I guess I will leave it alone.
    other settings work fine like with min/max performance and anything parking/unpark.

    There are settings for E cores and P cores though.
     
    Last edited: Aug 19, 2022
  19. mbk1969

    mbk1969 Ancient Guru

    Messages:
    15,156
    Likes Received:
    13,128
    GPU:
    GF RTX 4070
    That`s the purpose of high idle promote/demote - CPU sits in C6 (deep) idle state until something is started and CPU jumps to C0 (no idle state).

    With low idle promote/demote even high CPU usage will not switch CPU to C0 constantly.
     
  20. Donduck

    Donduck Master Guru

    Messages:
    299
    Likes Received:
    17
    GPU:
    Radeon RX Vega 7
    Could duty cycling cause higher dpc latency?
    It is weird that it's not enabled for years, compatibility should not be an issue because MS and intel can easily recognize hardware info while users doing system update or driver installations.
     

Share This Page