Dell XPS Speed Shift

Discussion in 'Dell XPS and Studio XPS' started by pressing, Oct 8, 2016.

  1. blurblur

    blurblur Notebook Guru

    Reputations:
    2
    Messages:
    58
    Likes Received:
    4
    Trophy Points:
    16
    So I tried using ThrottleStop to enable Speed Shift on my i5 9550. I realised that in battery mode, I was getting poorer endurance i.e. the battery runs down a lot more quickly than without ThrottleStop. I left everything at default, no overclocking, no throttling, nothing. Anyone else has the same observations?
     
    pressing likes this.
  2. pressing

    pressing Notebook Deity

    Reputations:
    282
    Messages:
    1,838
    Likes Received:
    922
    Trophy Points:
    131
    Edit - see comments below from Uncle Webb, the engineer behind ThrottleStop who was kind enough to drop by.

    Also read through the ThrottleStop thread for more info. A few tips to get you started
    - Make sure you have power options (in Windows control panel) set at high performance when using ThrottleStop (not balanced)
    - See benefits of undervolting below
    - Don't click on the "disable turbo"
     
    Last edited: Oct 21, 2016
  3. GoNz0

    GoNz0 Notebook Prophet

    Reputations:
    254
    Messages:
    4,062
    Likes Received:
    1,391
    Trophy Points:
    231
    I only have one in my script, what's the 2nd one for?
     
  4. pressing

    pressing Notebook Deity

    Reputations:
    282
    Messages:
    1,838
    Likes Received:
    922
    Trophy Points:
    131
    MSR 774 sets a variety of parameters. I think the most interesting option is allowing one to set energy performance preference (EPP) from 0 for max performance to 255 (?) for max energy savings. You can also set min and max CPU performance. And other stuff I don't understand. There is also MSR 772.

    EDITED FOR CRITICAL TYPOS

    Check out the official details included in the following Intel tome before going further (particularly around p 474):
    http://www.intel.com/content/dam/ww...eveloper-system-programming-manual-325384.pdf

    Caution - don't try this at home kids, high risk of bricking computer forever! I'm serious about this warning so any problems are 100% on your own shoulders. I like to tinker but have zero formal computer expertise. I haven't seen anyone brick their computers with ThrottleStop so that might be a better option if you want to experiment with Speed Shift. Also the ThrottleStop team actually understands these parameters and obviously does some stress testing...

    Preliminary draft notes below include what I wrote into the MSR Editor in CrystalCPUID for your comments and corrections (EDIT - TYPOS & ADDED MSR 772!):

    A. MSR 0x770 is IA32_PM_ENABLE (Enable/Disable HWP [Speed Shift])
    0X00000770
    0x00000000
    0x00000001


    B. MSR 0x772 IA32_HWP_REQUEST_PKG
    [EDIT - Didn't know about this one. You can figure that out! first try...]
    0X00000772
    0x00000000
    0x00002001


    C. 0x774 IA32_HWP_REQUEST (Conveys OSPM's control hints (Min, Max, Activity Window, Energy Performance Preference, Desired) for a single logical process)
    WHAT I USED FOR 9550 i5 (I hope this sets EPP to max performance 0 (00) and max processor speed to 3.2ghz (20):
    0X00000774
    0x00000000
    0x00002001


    SO MAYBE (???) 9550 i7 would be something like (setting EPP to max energy efficiency 255 (FF) and max processor speed to 3.5ghz (23):
    0X00000774
    0x00000000
    0xFF002301

    [EDIT - the FF was in the wrong place - sorry!]
    _________
    FYI - User f02nix etal at the Surface Pro forum linked below recommended the following for those laptops (NOT for the Dell 9550). I used it as a starting point:
    "The MSR at 0x774 should read 0x000000007F002201 for i7 (0x000000007F001E01 for i5 or 0x000000007F001601 for m3).


    000 Activity_Window (bits 41:32, RW) - Hint on the duration of the sliding window used to optimize performance/frequency. Intel default is 0x000 to let the hardware decide itself, while Microsoft set 0x19E indicating a 30ms window.

    7E
    Energy_Performance_Preference (bits 31:24, RW) - Hint on how to balance perfomance vs energy savings. The Intel default value is 0x80, whereas Microsoft uses 0x00 for maximum performance leading to nonstop max turbo

    00 Desired_Performance (bits 23:16, RW) - Anything but 0x00 indicates Speed Shift to be disabled or overruled by the OS."

    http://answers.microsoft.com/en-us/...e/a20f481a-fe3d-4e15-b0b5-ea11f8c62795?page=8
    _________
     

    Attached Files:

    Last edited: Oct 30, 2017
    custom90gt and GoNz0 like this.
  5. unclewebb

    unclewebb ThrottleStop Author

    Reputations:
    7,093
    Messages:
    5,850
    Likes Received:
    4,988
    Trophy Points:
    431
    You are putting the FF in the wrong position. It should be 0xFF002301. Same with your 7F. It should be 0x7F002301. The Intel default value for EPP is 0x80 which is equivalent to 128.

    There are 2 separate registers that control EPP. One for the individual cores and then a second register controls the entire CPU package.

    I find doing scientifically valid battery testing to be very difficult. There are so many variables including over 1000 background threads running on a typical Windows 10 PC that it is almost impossible to come up with a controlled testing environment. When you are running ThrottleStop and your PC is totally idle, what does ThrottleStop show for the percentage of time the CPU is in the C0 state? When you open up the C State window, what sort of percentages are you seeing? The biggest problem I see is that most users have a whack of stuff running in the background, sometimes without their knowledge or consent, which can significantly interfere with battery run time. ThrottleStop itself is the least of ones problems compared to some of the background bloat that is running.

    Another problem is that some manufacturers are not using all of the power saving C States that Intel has made available. I have seen many newer laptops that are limited to the Package C2 state which consumes a lot more power compared to the deeper package C States. Here is an example of how my 4700MQ looks from a few generations ago.

    [​IMG]

    When idle, less than 0.5% in the C0 state and individual cores spending on average 99% of the time in C7 are good numbers to shoot for. Intel has introduced package C States like C8, C9 and C10 but I have not yet heard of any manufacturers using these.

    To improve battery run time, I would definitely be using ThrottleStop to under volt the CPU. This is where energy savings can be found. Intel's default voltage settings for Skylake CPUs seem to be much higher than needed.
     
    pressing likes this.
  6. goodwin_c

    goodwin_c Notebook Enthusiast

    Reputations:
    23
    Messages:
    27
    Likes Received:
    38
    Trophy Points:
    16
    I want to open one big super secret. There is a way to enable SST permanently ;) But as usual, dragons are inside, so it is possible to totally f**ck up you laptop (what i did with my experiments, so used hardware programmer to restore my bios eeprom). In short - for just enabling SST it is enough to change UEFI variable 0xD8 from value 0x00 to 0x01 (did on my laptop, so after each reboot hwinfo64 shows SST flag as green, and i have no ThrottleStop even installed) . If somebody brave is interested in details i can make short how-to manual somewhere after next Monday.
     
  7. pressing

    pressing Notebook Deity

    Reputations:
    282
    Messages:
    1,838
    Likes Received:
    922
    Trophy Points:
    131
    Thanks for taking the time to read over this and correct some critical errors. I edited the post per your comments. Really appreciate your mentoring here and quite enjoy peeking under the ThrottleStop hood to learn a bit.

    Didn't know about that!

    Corrected earlier post regarding energy savings with ThrottleStop.

    I would add on the performance side, undervolting via ThrottleStop is easy. It can have a massive impact on thermals, particularly for a small laptop like the 9550 which has limited cooling ability by definition. On my i5, benchmarks with a -170mv undervolt showed ~12*C drop in temps. Repasting the CPU/GPU and fixing thermal pads on the VRAM only provided another ~5*C drop in temps. Those deltas are at the limit so are not entirely representative. But others have reported similar stats. The results speak for themselves.
     
  8. pressing

    pressing Notebook Deity

    Reputations:
    282
    Messages:
    1,838
    Likes Received:
    922
    Trophy Points:
    131
    Hi goodwin - I think that would be a fantastic learning opportunity. Please feel free to document your process here or on a new thread as you like. Kindly add a bunch of disclaimers and warnings to scare off the novices (like me)!
     
  9. goodwin_c

    goodwin_c Notebook Enthusiast

    Reputations:
    23
    Messages:
    27
    Likes Received:
    38
    Trophy Points:
    16
    I was thinking a lot, and due to too high risk of breaking laptop i will not describe whole process for modifying nvram variables. But i will share key information for thus who is brave to do that. As for me - i did this on two XPSs and both are working great.
    So, first - intro. We already have option for enabling Speed Shift in our laptop, it is inside of our BIOS and it is actually working. And works fine. But for some reason (who know what body-part they are using for thinking process) - Dell engineers decided to remove this option from BIOS interface. But there is a way to change it. Ok, i won't be so rude - there is one of common guides to change variables through UEFI shell - but be carefull, one mistake and you will break your lovely laptop! Just skip steps from B to I from that guide - i will tell you exact variable to modify.
    So, first identify that your variable has correct value:
    Code:
    setup_var 0xD8
    It should return value 0x0. Next modify value:
    Code:
    setup_var 0xD8 0x1
    Now you can reboot and check in windows that your Speed Shift is now working just as it should without manually enabling it.
    P.S. I'm not taking any responsibility agains broken laptops. So just be careful!
     
    pressing likes this.
  10. blurblur

    blurblur Notebook Guru

    Reputations:
    2
    Messages:
    58
    Likes Received:
    4
    Trophy Points:
    16
    So I gave ThrottleStop another shot, mainly because I didn't like the bloat that Intel XTU had, as well as XTU's handicap of app based undervolting. It's been a few weeks since I've been on throttlestop and it works flawlessly. I basically used it to enable SpeedShift, as well as undervolt CPU/Cache and GPU in both plugged in and battery modes with the following respective settings: -100mV, -50mV & -150mV, -80mV.

    These settings work great on my i5 and although I could have gone lower, I decided to leave a little buffer for stability.
     
    pressing likes this.
Loading...

Share This Page