gh-155090: Fix ftscalingbench core selection on CPUs with favoured cores - #155105
Open
overlorde wants to merge 1 commit into
Open
gh-155090: Fix ftscalingbench core selection on CPUs with favoured cores#155105overlorde wants to merge 1 commit into
overlorde wants to merge 1 commit into
Conversation
…red cores ftscalingbench keeps only the CPUs whose MAXMHZ equals the highest MAXMHZ on the machine, so that efficiency cores are left out. That assumes every performance core shares one clock ceiling. Intel's Turbo Boost Max 3.0 bins a couple of cores above their siblings, and on such a part only those few survive the filter. On an i7-14650HX (8 performance cores, two of them at 5200 MHz and the rest at 5000 MHz, plus 8 efficiency cores at 3700 MHz) the benchmark picked two CPUs and reported scaling for 2 threads instead of 8. Split performance and efficiency cores at the midpoint between the highest and lowest clock instead, which keeps all the performance cores however they are individually binned. Machines that report one clock for every core, or no clock at all, are unaffected.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixes #155090.
The efficiency-core filter compares each core's MAXMHZ against the highest on the machine, which also drops the performance cores that Turbo Boost Max 3.0 bins below their fastest siblings. This splits the two groups at the midpoint between the highest and lowest clock instead.
Machines that report one clock for every core, or none at all, keep every core as before. The
>=matters there: with MAXMHZ empty both bounds are zero, and>would have selected nothing.Splitting at the largest gap between distinct clocks would be more principled and would handle a three-tier layout as well. It seemed like more machinery than this needs, but I'll change it if you'd rather.
The tests are new; five of the six also pass against main unchanged.