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
F173881057: D60102.id187911.diff
Tue, Sep 29, 2:21 AM
F173876956: D60102.diff
Tue, Sep 29, 1:41 AM
F173844355: D60102.id187911.diff
Mon, Sep 28, 8:39 PM
F173843736: D60102.diff
Mon, Sep 28, 8:32 PM
F173833005: D60102.diff
Mon, Sep 28, 6:51 PM
F173832480: D60102.diff
Mon, Sep 28, 6:45 PM
F173831619: D60102.diff
Mon, Sep 28, 6:37 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