
Settle in, this might take a while to explain.
I have configured my system to operate solely on the E cores and then use windows 11 Process Affinity Inheritance to game on the P cores (This wont work on windows 10), this even works with Call of Duty as Inheritance occurs at a level that Ricochet doesn't care about thus Cod launches and runs on the P cores only.
The windows scheduler will not touch any cores that are in the System Reserved Sets, not even for parking or IRQ background usage so for best performance I have manually configured all of the PCIE bus devices and USB devices onto the p cores, i will outline how to do this in Step 1.
I have done this on a 14900K, it has 16 e cores which is great for entire system multi threaded performance of windows and several programs like your browser, socials, systray stuff and so on but im sure this will be fine with the smaller CPU's except once you get down below 8 e cores maybe then just don't do this.
What You Need
- Interrupt-Affinity Policy Configuration Tool
- ReservedCpuSets Tool
- Process Lasso – Coz you dont want to have to set process affinities manually all the time
Step 1.
You need to configure your IRQ Affinity, get the tool called "Interrupt-Affinity Policy Configuration Tool" and run as admin, it wont ask and it needs admin. Select the "PCI Express Root Port" entries and assign them to your P cores once you do this it should say current policy "IrqPolicySpecifiedProcessors".
On my system i actually assigned the PCI Express ports to staggered P cores 0-2-4-6-8-10-12-14 and that says specified mask 0x5555
Now find your USB Root Hubs and set those to your P cores, On my system i selected 1-3-5-7-9-11-13-15
On my system i also applied P core affinity to my GPU, a 6950XT i dont know if this is truly needed but it works fine doing so, i did not configure the PCI Express Upstream and Downstream switch ports.
A quick warning… dont touch the NVME devices they are covered by the configuration of the PCI Express Root Ports and changing the nvme just lead to hard system freezes for some reason.
Step 2. Before Rebooting.
Get the tool ReservedCpuSets.exe and in this tool select your P cores, theres 2 for each P core as it includes the HT threads in the list.
Now Reboot to apply the IRQ Affinity and Reserved CPU Sets configurations.
Your system will feel a little slower now, The E cores are slower this is to be expected.
Step 3.
Run your game Launchers such as Steam, Battle.net, Heroic or Epic etc. Now in process lasso find them and right click on the main process entry (the parent of the tree) and select CPU Affinity -> Always -> Select CPU Affinity then in this window click "P Cores" Then Click OK.
What happens now is when you run your launcher Process Lasso with automatically place the launcher on the P cores and then when the launcher runs a game the game will inherit the process affinity of the parent process (the launcher) and the game will also run on the P cores.
You can also of course assign whatever you want to the P cores, you can put Chrome, Librewolf whatever you like on the P cores.
Performance for me increased anywhere from nothing to 20%+ it really depends on the game and how its affected by background tasks of the OS causing cache evictions on the P cores aswell as how multi threaded the game is as with the p cores been dedicated to the game it truly gets the entire P core performance without exception.
On my system i also assigned dwm.exe to the P cores this is the desktop GUI compositor and the performance of the windows desktop graphics is affected by how well dwm can run.
To confirm your hardware is on the P cores you can move the mouse around furiously to see P core usage rise by 1 or 2%, also run Crystal Disk Mark to see the NVME usage on the P cores.
Edit: i forgot to mention it might be a good idea to put the game folders such as the steam library in your antivirus exclusions so the antivirus scanning engine isnt slowing down the game reads since the antivirus will be on the e cores.