• Kan Liang's avatar
    perf/x86/intel: Support TopDown metrics on Ice Lake · 59a854e2
    Kan Liang authored
    Ice Lake supports the hardware TopDown metrics feature, which can free
    up the scarce GP counters.
    
    Update the event constraints for the metrics events. The metric counters
    do not exist, which are mapped to a dummy offset. The sharing between
    multiple users of the same metric without multiplexing is not allowed.
    
    Implement set_topdown_event_period for Ice Lake. The values in
    PERF_METRICS MSR are derived from the fixed counter 3. Both registers
    should start from zero.
    
    Implement update_topdown_event for Ice Lake. The metric is reported by
    multiplying the metric (fraction) with slots. To maintain accurate
    measurements, both registers are cleared for each update. The fixed
    counter 3 should always be cleared before the PERF_METRICS.
    
    Implement td_attr for the new metrics events and the new slots fixed
    counter. Make them visible to the perf user tools.
    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/20200723171117.9918-11-kan.liang@linux.intel.com
    59a854e2
perf_event.h 34.7 KB