• J
    perf cs-etm: Split setup and timestamp search functions · 89430d9b
    James Clark 提交于
    mainline inclusion
    from mainline-v5.14-rc4
    commit 9ac8afd5
    category: feature
    bugzilla: https://gitee.com/openeuler/kernel/issues/I636PS
    CVE: NA
    
    Reference: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=9ac8afd500e4597edd52b9469368c0126bb42124
    
    --------------------------------------------------------------------------
    
    This refactoring has some benefits:
    
     * Decoding is done to find the timestamp. If we want to print errors
       when maps aren't available, then doing it from cs_etm__setup_queue()
       may cause warnings to be printed.
    
     * The cs_etm__setup_queue() flow is shared between timed and timeless
       modes, so it needs to be guarded by an if statement which can now
       be removed.
    
     * Allows moving the setup queues function earlier.
    
     * If data was piped in, then not all queues would be filled so it
       wouldn't have worked properly anyway. Now it waits for flush so
       data in all queues will be available.
    
    The motivation for this is to decouple setup functions with ones that
    involve decoding. That way we can move the setup function earlier when
    the formatted/unformatted trace information is available.
    Reviewed-by: NMathieu Poirier <mathieu.poirier@linaro.org>
    Signed-off-by: NJames Clark <james.clark@arm.com>
    Cc: Al Grant <al.grant@arm.com>
    Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
    Cc: Anshuman Khandual <anshuman.khandual@arm.com>
    Cc: Arnaldo Carvalho de Melo <acme@kernel.org>
    Cc: Jiri Olsa <jolsa@redhat.com>
    Cc: John Garry <john.garry@huawei.com>
    Cc: Leo Yan <leo.yan@linaro.org>
    Cc: Mark Rutland <mark.rutland@arm.com>
    Cc: Mike Leach <mike.leach@linaro.org>
    Cc: Namhyung Kim <namhyung@kernel.org>
    Cc: Suzuki Poulouse <suzuki.poulose@arm.com>
    Cc: Will Deacon <will@kernel.org>
    Cc: coresight@lists.linaro.org
    Cc: linux-arm-kernel@lists.infradead.org
    Link: https //lore.kernel.org/r/20210721150202.32065-3-james.clark@arm.com
    Signed-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
    Signed-off-by: NJunhao He <hejunhao3@huawei.com>
    89430d9b
cs-etm.c 84.6 KB