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.
When I implemented TSC scaling originally, I chose a scale factor of 128 because it basically covered the range of devices we cared about without going too high. I also only tested devices that had a TSC scale factor from 19.2Mhz to 34Mhz. Turns out there is hardware that also has a 48Mhz cycle counter, which cause them to effectively have a 6.1Ghz cycle counter, which is kind of absurd.
Instead of a fixed scale, just calculate the amount of scaling we need to get >= the minimum threshold of 1Ghz. This will change the shift from 7 to 5 or 6 for the faster cycle counter devices.
Of course if someone wants to know the scale factor they can still use cpuid function 15h to know it.
Fixes #4026