Ocellaris
Fully [H]
- Joined
- Jan 1, 2008
- Messages
- 19,077
Let me shortly illustrate what my SMT fix aka "NO SMT conflicts does"
Please note I am using a template for a Ryzen CPU but just focus on the top half and ignore the CCX as this is universal and not a Ryzen specific issues
This a Worstcase scenario for running a 4threaded software/games on a CPU with 4core and SMT
What we see is that the 4 threads are sharing only 2 Physical Cores and thereby a limited amount of Core subresources
This happens every so often over time because Microsofts Thread scheduler is based on a Round-robin method (some heavy modifications/exceptions though)
This is when the software gets hit by a penalty form running under SMT. Remember this is worst case and not representative of typical or average thread distribution.
This is what my "NO SMT conflicts" do
My program denies access to the logical cores that would lead to the same physical core.
Now the software is constantly running with a the full usage of 4 physical cores. just like if there was no SMT present. however no reboot are needed its all done live on the system
This is where the ~15% performance boost form disabling SMT in games comes from
Now off cause this does not work on software that would have 8 threads running cause no matter what they would use up all the logical cores. and yes they would have to share the same physical cores. but that still better than getting no cores at all to a thread
The only reason we have SMT is because there is left over sub core resources from just running one threads. so once we get another thread onto the core it can use the leftovers.
leftovers > non resources
leftovers < full resources
I hope this can clarify the SMT issues once and for all. Whatever it be Intel or AMD.
Where are some of your benchmarks showing any improvement using this? You made a tool and you want other people to experiment with it for you. You would be doing a lot better if you actually provided some performance data instead expecting others to do it for you.
Last edited: