Windows 10 scheduling bug hurting AMD Ryzen gaming performance?

Posted on Friday, March 10 2017 @ 12:39 CET by Thomas De Maesschalck
AMD logo
The launch of AMD's long-awaited Ryzen was a bit of a bummer for many enthusiasts as the gaming performance of the Ryzen 7 series was not as good as what all the hype led a lot of people to believe. AMD promised gaming performance would get better over time as the platform still needs a lot of optimization and the last couple of days a rumor has been circulating that Microsoft may be partly responsible for the lackluster gaming performance of AMD's new processors.

Early adopters discovered that Windows 10's scheduling doesn't seem to work properly on AMD Ryzen CPUs. WCCF Tech discusses the theory in detail over here and reports it looks as if Windows 10 is not able to differentiate principal core threads from virtual SMT threads with Ryzen:
Because it does not give any preferential prioritization of scheduling tasks to primary threads over SMT threads like it does on Intel platforms, a massively larger percentage of tasks can and do end up getting scheduled for a virtual SMT thread rather than a principal core thread. Resulting in significant artificial performance degradation.
Furthermore, the site claims Windows 10 also wildly overestimates the amount of cache available per thread:
It also incorrectly identifies the amount of cache available per thread. Adding up the amount of L2 and L3 cache Windows 10’s scheduler “thinks” is there totals to an insane 136MB of cache, when Ryzen 7 in fact only has 20MB of L2+L3 cache combined.
AnandTech updated the conclusion of its Ryzen 7 review, they also heard whispers about AMD and Microsoft working on a fix for scheduling routine issues and indicate there are quite a lot of other, known issues that need work:
  • Windows 10 RTC disliking 0.25x multipliers, causing timing issues,
  • Software not reading L3 properly (thinking each core has 8MB of L3, rather than 2MB/core),
  • Latency within a CCX being regular, but across CCX boundaries having limited bandwidth,
  • Static partitioning methods being used shows performance gains when SMT is disabled,
  • Ryzen showing performance gains with faster memory, more so than expected,
  • Gaming Performance, particularly towards 240 Hz gaming, is being questioned,
  • Microsoft’s scheduler not understanding the different CCX core-to-core latencies,
  • Windows not scheduling threads within a CCX before moving onto the next CCX,
  • Some motherboards having difficulty with DRAM compatibility,
  • Performance related EFIs being highly regularly near weekly since two weeks before launch.
  • Similarly, Microsoft hinted on Twitter that the Ryzen platform indeed has bugs that need neutralizing:



    Either way, it seems the Ryzen platform will not some maturing before we can make good conclusions about how good it is.


    About the Author

    Thomas De Maesschalck

    Thomas has been messing with computer since early childhood and firmly believes the Internet is the best thing since sliced bread. Enjoys playing with new tech, is fascinated by science, and passionate about financial markets. When not behind a computer, he can be found with running shoes on or lifting heavy weights in the weight room.



    Loading Comments