• Suzuki K Poulose's avatar
    coresight: trbe: End the AUX handle on truncation · 9bef9d08
    Suzuki K Poulose authored
    When we detect that there isn't enough space left to start a meaningful
    session, we disable the TRBE, marking the buffer as TRUNCATED. But we delay
    the notification to the perf layer by perf_aux_output_end() until the event
    is scheduled out, triggered from the kernel perf layer. This will cause
    significant black outs in the trace. Now that the CoreSight PMU layer can
    handle a closed "AUX" handle properly, we can close the handle as soon as
    we detect the case, allowing the userspace to collect and re-enable the
    event.
    
    Also, while in the IRQ handler, move the irq_work_run() after we have
    updated the handle, to make sure the "TRUNCATED" flag causes the event to
    be disabled as soon as possible.
    
    Cc: Anshuman Khandual <anshuman.khandual@arm.com>
    Cc: Mathieu Poirier <mathieu.poirier@linaro.org>
    Cc: Mike Leach <mike.leach@linaro.org>
    Cc: Leo Yan <leo.yan@linaro.org>
    Cc: Peter Zijlstra (Intel) <peterz@infradead.org>
    Cc: Will Deacon <will@kernel.org>
    Reviewed-by: default avatarAnshuman Khandual <anshuman.khandual@arm.com>
    Signed-off-by: default avatarSuzuki K Poulose <suzuki.poulose@arm.com>
    Link: https://lore.kernel.org/r/20210923143919.2944311-5-suzuki.poulose@arm.comSigned-off-by: default avatarMathieu Poirier <mathieu.poirier@linaro.org>
    9bef9d08
coresight-trbe.c 32.6 KB