• Suzuki K Poulose's avatar
    perf: aux: Add CoreSight PMU buffer formats · 7dde5176
    Suzuki K Poulose authored
    CoreSight PMU supports aux-buffer for the ETM tracing. The trace
    generated by the ETM (associated with individual CPUs, like Intel PT)
    is captured by a separate IP (CoreSight TMC-ETR/ETF until now).
    
    The TMC-ETR applies formatting of the raw ETM trace data, as it
    can collect traces from multiple ETMs, with the TraceID to indicate
    the source of a given trace packet.
    
    Arm Trace Buffer Extension is new "sink" IP, attached to individual
    CPUs and thus do not provide additional formatting, like TMC-ETR.
    
    Additionally, a system could have both TRBE *and* TMC-ETR for
    the trace collection. e.g, TMC-ETR could be used as a single
    trace buffer to collect data from multiple ETMs to correlate
    the traces from different CPUs. It is possible to have a
    perf session where some events end up collecting the trace
    in TMC-ETR while the others in TRBE. Thus we need a way
    to identify the type of the trace for each AUX record.
    
    Define the trace formats exported by the CoreSight PMU.
    We don't define the flags following the "ETM" as this
    information is available to the user when issuing
    the session. What is missing is the additional
    formatting applied by the "sink" which is decided
    at the runtime and the user may not have a control on.
    
    So we define :
     - CORESIGHT format (indicates the Frame format)
     - RAW format (indicates the format of the source)
    
    The default value is CORESIGHT format for all the records
    (i,e == 0). Add the RAW format for others that use
    raw format.
    
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Mike Leach <mike.leach@linaro.org>
    Cc: Mathieu Poirier <mathieu.poirier@linaro.org>
    Cc: Leo Yan <leo.yan@linaro.org>
    Cc: Anshuman Khandual <anshuman.khandual@arm.com>
    Reviewed-by: default avatarMike Leach <mike.leach@linaro.org>
    Signed-off-by: default avatarSuzuki K Poulose <suzuki.poulose@arm.com>
    Link: https://lore.kernel.org/r/20210405164307.1720226-3-suzuki.poulose@arm.comSigned-off-by: default avatarMathieu Poirier <mathieu.poirier@linaro.org>
    7dde5176
perf_event.h 37.7 KB