Comment activer Retpoline sous Windows 10 ?

par Korben -

Vous vous souvenez de Spectre et Spectre 2, sa variante ?

Ces vulnérabilités situées au niveau des processeurs, une fois patchées, avaient entrainé une baisse substantielle des performances des ordinateurs. Depuis, les éditeurs comme Microsoft, Google ou encore Apple, s’attachent à grappiller un peu de performance.

Concernant Spectre 2, Google a sorti Retpoline, un code permettant de mitiger l’attaque de Spectre 2 sur les machines Windows.

Cela date d’un petit moment maintenant (janvier 2018 dans mes souvenirs), et Microsoft vient à peine de l’ajouter dans sa dernière mise à jour Windows du 1er Mars 2019 (version 1809 avec la mise à jour cumulative KB4482887).

Retpoline est donc présent dans les Windows 10 mis à jour, mais il n’est pas activé. Microsoft a prévu de le faire dans les mois qui viennent.

Lorsque tous les binaires relatifs au kernel Windows sont compilés avec Retpoline, Microsoft à mesure des gains de performances au lancement d’Office de l’ordre de +25%. Ainsi qu’un débit 1,5 à 2 fois supérieur pour Diskspd (pour le stockage) et NTttcp (pour le réseau).

Ces tests ont été faits en labo, mais le patch semble prêt.

Alors, comment faire pour forcer l’activation de Retpoline et ne pas attendre après Microsoft pour profiter de ces nouvelles performances ?

Vérifiez d’abord que votre Windows est bien en version 1089 et possède la mise à jour KB4482887.

Puis ouvrez une Invite de Commandes en tant qu’Administrateur (Démarrer > Cmd > Clic droit > Exécuter en tant qu’Administrateur) et entrez les commandes suivantes pour modifier la base de registre. Pensez bien à redémarrer le PC lorsque vous aurez terminé, afin d’appliquer les modifications.

reg add "HKLMSYSTEMCurrentControlSetControlSession ManagerMemory Management" /v FeatureSettingsOverride /t REG_DWORD /d 0x400
reg add "HKLMSYSTEMCurrentControlSetControlSession ManagerMemory Management" /v FeatureSettingsOverrideMask /t REG_DWORD /d 0x400

Et si vous êtes sous Windows 10 Server :

reg add "HKLMSYSTEMCurrentControlSetControlSession ManagerMemory Management" /v FeatureSettingsOverride /t REG_DWORD /d 0x400
reg add "HKLMSYSTEMCurrentControlSetControlSession ManagerMemory Management" /v FeatureSettingsOverrideMask /t REG_DWORD /d 0x401

Et afin de valider si Retpoline est bien actif, lancez un PowerShell en tant qu’administrateur et suivez la procédure décrite ici.

Source