Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

cleanup cpu info management from Linux /proc/cpuinfo #681

Open
bgoglin opened this issue Aug 19, 2024 · 0 comments
Open

cleanup cpu info management from Linux /proc/cpuinfo #681

bgoglin opened this issue Aug 19, 2024 · 0 comments

Comments

@bgoglin
Copy link
Contributor

bgoglin commented Aug 19, 2024

We setup an array of info attributes per PU by reading processor blocks in /proc/cpuinfo.

On x86, /proc/cpuinfo is homogeneous, even on hybrid CPUs: we get the CPU Model, and use the one of the first core of each package to add info attr in the package. Info about (hybrid) core types in obtained somewhere else and added to cpukinds.

On ARM, /proc/cpuinfo reports heterogeneous core information. However most current hybrid CPUs expose one (fake) package per set of homogeneous cores, hence each "package" gets the correct info from its first core. When ARM platforms will correclty expose a single heterogeneous package, our info attr will become homogeneous and wrong.

We could factorize the array of identical info to attach it to the right object. Not clear what object that would be on those future ARM platforms. Maybe cluster(s)?
We could also put them in each individual PU or Cores but that's a lot of duplication, moving it to cpukinds looks better?
Or cpukinds if hybrid, package (or any group of cores) if not hybrid or if it matches homogeneity sets?
Anyway we'll need to clearly document where to find this info.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant