Repository navigation
Fix ARM Linux topology for heterogeneous core groups - #438
Open
JakeStevens wants to merge 1 commit into
Open
JakeStevens wants to merge 1 commit into
JakeStevens wants to merge 1 commit into
Conversation
Author
|
@fbarchard can you confirm this resolves your issue in #316 ? it does not yet fix the cache reporting issue |
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.
Android kernels can put different core types in the same topology group. cpuinfo currently copies the group leader's identity to every CPU, so a Pixel 10 reports eight Cortex-A520 cores. With this change it reports the actual 1x Cortex-X4, 5x Cortex-A725, and 2x Cortex-A520 configuration in three homogeneous public clusters.
Preserve per-CPU MIDRs and maximum frequencies when available, retaining the existing identity inference for missing records and older
/proc/cpuinfoformats with one shared MIDR. Rebuild cluster leaders and counts after sorting, so processors that move ahead of the original leader receive valid cluster and cache pointers. Keep L3 counts and indices consistent when some of the resulting groups have no modeled L3.Add eight synthetic topology regressions covering Pixel 8/9/10, the Galaxy S23's mixed A710/A715 group, missing identity data, different frequencies within one core type, unknown CPU parts, and mixed cache models. They check identities, ordering, homogeneous cluster ranges, and cache pointer/range consistency. Cache capacities continue to use the existing models; the cache-discovery work in #437 is separate.
Fixes #316.
Validation:
init-testchecks and all fourget-current-testchecks pass.alcatel-revvl,galaxy-s7-global,iconia-one-10,meizu-pro-6,meizu-pro-6s,meizu-pro-7-plus,oppo-r9,xiaomi-mi-5c,xperia-c4-dual, andchipset-test. Individual failures within those existing fixture programs can differ as cluster ranges are rebuilt.