cancel
Showing results for 
Search instead for 
Did you mean: 

Managed to get some speed back on M.2s using Retpoline

Brighttail
Level 11
Microsoft released 1809 a little while ago and has decided to allow access to their new way to combat SPECTRE using Retpoline. Long story short, we all know that the SPECTRE microcode killed a lot of speed from many of our SSD/M.2s, for me it was up to 30+% on Q1 4k Read/write. By default, Microsoft has turned OF the Retpoline fix in build 1809 but you can manually turn it on if you wish. If not, Microsoft will roll out patches as they always do and eventually you'll get it. I wanted to see how much difference there actually was. Below is what I did and the results.

So I went back and turned off the Retpoline and took some reading and then turned it back on and tried again.
I'm definitely seeing some improvement, which is nice. When Spectre first came out I personally lost about 30-35% speed on my 4k Q1 random read/writes. Looks like the new Retpoline gets me back 4-7%. 4k Q32 raised by roughly a 100Mb/s which is also nice. Sequential read/write stayed the same, about 800mb/s slower than what it was originally. Overall I probably won't be able to tell the difference in real time but it is nice to see that Retpoline has some effect and I can actually see the changes through benchmarks.

I will put the steps of what I did. These are my steps as the "add reg" line shown in the microsoft article above, didn't work for me and kept coming up with a syntax error. For this to work you need to have installed Microsoft update: KB4482887

So I went directly into the registry.

1. Enter registry and save. (in case you mess up)
2. Navigated to HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management
3. Right clicked and ADD NEW DWORD (32BIT)
4. Renamed it to FeatureSettingsOverride
5. Double clicked the new registry entry and entered the hexidecimal value as 0x400
6. Right clicked and ADD NEW DWORD (32BIT)
7. Renamed it to FeatureSettingsOverrideMask
8. Double clicked the new registry entry and entered the hexidecimal value as 0x400
9. Restarted.

You can go to https://support.microsoft.com/en-us/...ngs-powershell in order to test it through powershell. Follow all the directions including the last to reset the values back to the originals after you get your read out. In the end you should see the following:

"BTIKernelImportOptimizationEnabled : True"

This will show that Retpoline is enabled. If at any time you have issues, restore your old registry. Once again this is how I did it. Your mileage may vary.

79321
Pre-Retpoline

79322
Post-Retpoline
Panteks Enthoo Elite / Asus x299 Rampage VI Extreme / Intel I9-7900X / Corsair Dominator RGB 3200MHz

MSI GTX 1080 TI / 2x Intel 900p / Samsung 970 Pro 512GB

Samsung 850 PRO 512GB / Western Digital Gold 8TB HD

Corsair AX 1200i / Corsair Platinum K95 / Asus Chakram

Acer XB321HK 4k, IPS, G-sync Monitor / Water Cooled / Asus G571JT Laptop
4,687 Views
12 REPLIES 12

Brighttail
Level 11
Hey @justintyme clear your inbox. 🙂
Panteks Enthoo Elite / Asus x299 Rampage VI Extreme / Intel I9-7900X / Corsair Dominator RGB 3200MHz

MSI GTX 1080 TI / 2x Intel 900p / Samsung 970 Pro 512GB

Samsung 850 PRO 512GB / Western Digital Gold 8TB HD

Corsair AX 1200i / Corsair Platinum K95 / Asus Chakram

Acer XB321HK 4k, IPS, G-sync Monitor / Water Cooled / Asus G571JT Laptop

Brighttail wrote:
Hey @justintyme clear your inbox. 🙂


Unfortunately Justin was banned a while back. I believe he posts on other enthusiast forums so you might be able to get in touch with him that way.
A bus station is where a bus stops. A train station is where a train stops. On my desk, I have a work station…

xeromist wrote:
Unfortunately Justin was banned a while back. I believe he posts on other enthusiast forums so you might be able to get in touch with him that way.


Is this true? I had no idea. Why the ban?

Shanester wrote:
Is this true? I had no idea. Why the ban?


He had a history of starting fights with people and was warned many times. Pretty smart guy but he has the social acumen of a wet cat and proud of it. Finally he started a fight with an Admin after an unsupported smear against another company. Kept at it even after being told to back off. That combined with his history finally got him banned I believe. It's unfortunate but at a certain point causing trouble outweighs positive contributions.

But this isn't really a topic for this thread. I just wanted Brighttail to know.
A bus station is where a bus stops. A train station is where a train stops. On my desk, I have a work station…

Hopper64
Level 15
Brighttail wrote:
Microsoft released 1809 a little while ago and has decided to allow access to their new way to combat SPECTRE using Retpoline. Long story short, we all know that the SPECTRE microcode killed a lot of speed from many of our SSD/M.2s, for me it was up to 30+% on Q1 4k Read/write. By default, Microsoft has turned OF the Retpoline fix in build 1809 but you can manually turn it on if you wish. If not, Microsoft will roll out patches as they always do and eventually you'll get it. I wanted to see how much difference there actually was. Below is what I did and the results.

So I went back and turned off the Retpoline and took some reading and then turned it back on and tried again.
I'm definitely seeing some improvement, which is nice. When Spectre first came out I personally lost about 30-35% speed on my 4k Q1 random read/writes. Looks like the new Retpoline gets me back 4-7%. 4k Q32 raised by roughly a 100Mb/s which is also nice. Sequential read/write stayed the same, about 800mb/s slower than what it was originally. Overall I probably won't be able to tell the difference in real time but it is nice to see that Retpoline has some effect and I can actually see the changes through benchmarks.

I will put the steps of what I did. These are my steps as the "add reg" line shown in the microsoft article above, didn't work for me and kept coming up with a syntax error. For this to work you need to have installed Microsoft update: KB4482887

So I went directly into the registry.

1. Enter registry and save. (in case you mess up)
2. Navigated to HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management
3. Right clicked and ADD NEW DWORD (32BIT)
4. Renamed it to FeatureSettingsOverride
5. Double clicked the new registry entry and entered the hexidecimal value as 0x400
6. Right clicked and ADD NEW DWORD (32BIT)
7. Renamed it to FeatureSettingsOverrideMask
8. Double clicked the new registry entry and entered the hexidecimal value as 0x400
9. Restarted.

You can go to https://support.microsoft.com/en-us/...ngs-powershell in order to test it through powershell. Follow all the directions including the last to reset the values back to the originals after you get your read out. In the end you should see the following:

"BTIKernelImportOptimizationEnabled : True"

This will show that Retpoline is enabled. If at any time you have issues, restore your old registry. Once again this is how I did it. Your mileage may vary.

79321
Pre-Retpoline

79322
Post-Retpoline




Just loaded latest windows 10 updates which had a blurb about this topic. I think this is what you were referring to?

"Enables “Retpoline” by default if Spectre Variant 2 (CVE-2017-5715) is enabled."
May 14, 2019—KB4494441 (OS Build 17763.503)

https://support.microsoft.com/en-us/help/4494441/windows-10-update-kb4494441
MZ790AE Bios 1703, GSkill F5-8400J4052G24GX2-TR5S, 14900KS, EKWB D5 TBE 300, Seasonic Prime TX-1600 ATX 3.0, Asus Strix 4090 w/ HK block, Phanteks Enthoo Elite, Asus Claymore 2, Asus Gladius 3, Asus XG349C, Crucial T705, Windows 11 Pro

Hopper64
Level 15
Trying to upload a shot of my results but the website is not allowing it. Tried 2 different browsers.
MZ790AE Bios 1703, GSkill F5-8400J4052G24GX2-TR5S, 14900KS, EKWB D5 TBE 300, Seasonic Prime TX-1600 ATX 3.0, Asus Strix 4090 w/ HK block, Phanteks Enthoo Elite, Asus Claymore 2, Asus Gladius 3, Asus XG349C, Crucial T705, Windows 11 Pro

tistou77
Level 13
Hello

Until now I disabled the Spectrum patch on Windows with these registry keys

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management]
"FeatureSettingsOverride"=dword:00000003
"FeatureSettingsOverrideMask"=dword:00000003

Is it better with Reptoline and these registry keys ?

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Contro l\Session Manager\Memory Management]
"FeatureSettingsOverride"=dword:00000400
"FeatureSettingsOverrideMask"=dword:00000400

Thanks
Sorry for my english 😄


Case: Lian Li A77F
MB: Rampage VI Extreme Encore
CPU: i9 10980XE
RAM: G.Skill Trident Z RGB Royal 4x8Gb @4000 C16
GPU: EVGA RTX 2080ti XC Ultra
PSU: Seasonic Prime Ultra Titanium 1000W
OS: Intel Optane 905P PCIe
DATA: Samsung 980 Pro
SOUND: Asus Xonar Phoebus

tistou77
Level 13
I tested and the best is still to disable the Spectre patch with the 1st registry keys
But I'm still with CU .437 (1809), maybe Reptoline is not active ?
Sorry for my english 😄


Case: Lian Li A77F
MB: Rampage VI Extreme Encore
CPU: i9 10980XE
RAM: G.Skill Trident Z RGB Royal 4x8Gb @4000 C16
GPU: EVGA RTX 2080ti XC Ultra
PSU: Seasonic Prime Ultra Titanium 1000W
OS: Intel Optane 905P PCIe
DATA: Samsung 980 Pro
SOUND: Asus Xonar Phoebus

Just stumbled across MDS Tool. It is easier to use as the MS script to read out patch status. https://mdsattacks.com/