• Kan Liang's avatar
    perf/x86/intel: Filter unsupported Topdown metrics event · 1ab5f235
    Kan Liang authored
    Intel Sapphire Rapids server will introduce 8 metrics events. Intel
    Ice Lake only supports 4 metrics events. A perf tool user may mistakenly
    use the unsupported events via RAW format on Ice Lake. The user can
    still get a value from the unsupported Topdown metrics event once the
    following Sapphire Rapids enabling patch is applied.
    
    To enable the 8 metrics events on Intel Sapphire Rapids, the
    INTEL_TD_METRIC_MAX has to be updated, which impacts the
    is_metric_event(). The is_metric_event() is a generic function.
    On Ice Lake, the newly added SPR metrics events will be mistakenly
    accepted as metric events on creation. At runtime, the unsupported
    Topdown metrics events will be updated.
    
    Add a variable num_topdown_events in x86_pmu to indicate the available
    number of the Topdown metrics event on the platform. Apply the number
    into is_metric_event(). Only the supported Topdown metrics events
    should be created as metrics events.
    
    Apply the num_topdown_events in icl_update_topdown_event() as well. The
    function can be reused by the following patch.
    Suggested-by: default avatarPeter Zijlstra (Intel) <peterz@infradead.org>
    Signed-off-by: default avatarKan Liang <kan.liang@linux.intel.com>
    Signed-off-by: default avatarPeter Zijlstra (Intel) <peterz@infradead.org>
    Link: https://lkml.kernel.org/r/1611873611-156687-4-git-send-email-kan.liang@linux.intel.com
    1ab5f235
perf_event.h 34.8 KB