Over the past week there's been a lot of chatter about how a bug in the Windows 10 thread scheduler may be hurting the gaming performance of AMD's Ryzen processor. AMD reports they've investigated these reports but found that there's nothing wrong with the Windows 10 scheduler.
AMD explains the Windows 10 thread scheduler operates properly for Ryzen and that there's no difference in scheduling between Windows 10 and Windows 7. Any difference in performance between Windows 7 and Windows 10 is attributed to "software architecture differences" between these OSes.
The company also points out that an outdated version of Sysinternals Coreinfo was responsible for incorrect Ryzen topology data that had been widely reported in the media:
We have investigated reports alleging incorrect thread scheduling on the AMD Ryzen™ processor. Based on our findings, AMD believes that the Windows® 10 thread scheduler is operating properly for “Zen,” and we do not presently believe there is an issue with the scheduler adversely utilizing the logical and physical configurations of the architecture.
As an extension of this investigation, we have also reviewed topology logs generated by the Sysinternals Coreinfo utility. We have determined that an outdated version of the application was responsible for originating the incorrect topology data that has been widely reported in the media. Coreinfo v3.31 (or later) will produce the correct results.
Finally, we have reviewed the limited available evidence concerning performance deltas between Windows® 7 and Windows® 10 on the AMD Ryzen™ CPU. We do not believe there is an issue with scheduling differences between the two versions of Windows. Any differences in performance can be more likely attributed to software architecture differences between these OSes.
Claims about issues with Simultaneous Multi-threading (SMT) reducing gaming performance were also investigated. AMD states SMT should generally result in a neutral or positive benefit for gaming performance. The company explains they're seeing neutral/positive behavior in various games, including Arma 3, Battlefield 1, Mafia III, Watch Dogs 2, Sid Meier’s Civilization VI, For Honor, Hitman, Mirror’s Edge Catalyst and The Division. However, AMD acknowledges there are outliers where SMT is hurting gaming performance and claims they're working on this:
For the remaining outliers, AMD again sees multiple opportunities within the codebases of specific applications to improve how this software addresses the “Zen” architecture. We have already identified some simple changes that can improve a game’s understanding of the "Zen" core/cache topology, and we intend to provide a status update to the community when they are ready.
AMD also provides some extra details about Ryzen's temperature reporting, the firm shares they're using a +20°C offset for the 1700X and 1800X. So this is the reason behind the reports of high Ryzen temperatures, they're actually 20°C lower than what tools readout. Monitoring utilities will need to make some changes to get correct temperature readouts.
The primary temperature reporting sensor of the AMD Ryzen™ processor is a sensor called “T Control,” or tCTL for short. The tCTL sensor is derived from the junction (Tj) temperature—the interface point between the die and heatspreader—but it may be offset on certain CPU models so that all models on the AM4 Platform have the same maximum tCTL value. This approach ensures that all AMD Ryzen™ processors have a consistent fan policy.
Specifically, the AMD Ryzen™ 7 1700X and 1800X carry a +20°C offset between the tCTL° (reported) temperature and the actual Tj° temperature. In the short term, users of the AMD Ryzen™ 1700X and 1800X can simply subtract 20°C to determine the true junction temperature of their processor. No arithmetic is required for the Ryzen 7 1700. Long term, we expect temperature monitoring software to better understand our tCTL offsets to report the junction temperature automatically.
AMD also recommends gamers to use the High Performance power plan with Windows 10 to achieve the best possible performance, and promises a patch will arrive in the first week of April that will tweak the power policy parameters of the Balanced plan:
We recommend this plan for two key reasons:
Core Parking OFF: Idle CPU cores are instantaneously available for thread scheduling. In contrast, the Balanced plan aggressively places idle CPU cores into low power states. This can cause additional latency when un-parking cores to accommodate varying loads.
Fast frequency change: The AMD Ryzen™ processor can alter its voltage and frequency states in the 1ms intervals natively supported by the “Zen” architecture. In contrast, the Balanced plan may take longer for voltage and frequency (V/f) changes due to software participation in power state changes.
In the near term, we recommend that games and other high-performance applications are complemented by the High Performance plan. By the first week of April, AMD intends to provide an update for AMD Ryzen™ processors that optimizes the power policy parameters of the Balanced plan to favor performance more consistent with the typical usage models of a desktop PC.