Page MenuHomeFreeBSD

pmc: differentiate AMD Zen and legacy CPUs
Needs ReviewPublic

Authored by mhorne on Mon, Sep 28, 6:09 PM.
Tags
None
Referenced Files
Unknown Object (File)
Tue, Oct 6, 9:34 PM
Unknown Object (File)
Tue, Oct 6, 12:23 AM
Unknown Object (File)
Mon, Oct 5, 6:29 AM
Unknown Object (File)
Sun, Oct 4, 7:44 PM
Unknown Object (File)
Sun, Oct 4, 2:55 AM
Unknown Object (File)
Sat, Oct 3, 9:48 AM
Unknown Object (File)
Sat, Oct 3, 3:09 AM
Unknown Object (File)
Fri, Oct 2, 7:58 PM
Subscribers

Details

Summary

We want to draw a firmer line between these. Both are supported by the
same PMC class (PMC_CLASS_AMD). However, the event sources are distinct,
with the legacy CPUs using statically defined events, while the Zen
event sources are the pmu-events tables. This has long been a source of
bugs and confusion.

Add some more internals to make this distinction real, by introducing a
new CPU type (PMC_CPU_AMD_ZEN). We allow for newer (Zen) CPUs to use the
old K8 events; but not the other way around.

Bump PMC_MINOR_VERSION for this.

Reference for AMD processor families:
https://handwiki.org/wiki/Engineering:List_of_AMD_CPU_microarchitectures

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Skipped
Unit
Tests Skipped
Build Status
Buildable 77419
Build 74302: arc lint + arc unit