lkml.org 
[lkml]   [2018]   [Dec]   [20]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[tip:perf/core] perf cs-etm: Treat EO_TRACE element as trace discontinuity
    Commit-ID:  02e7e2509e939b50f4f1b14c08b97f60256df3ea
    Gitweb: https://git.kernel.org/tip/02e7e2509e939b50f4f1b14c08b97f60256df3ea
    Author: Leo Yan <leo.yan@linaro.org>
    AuthorDate: Tue, 11 Dec 2018 15:38:27 +0800
    Committer: Arnaldo Carvalho de Melo <acme@redhat.com>
    CommitDate: Tue, 18 Dec 2018 12:23:59 -0300

    perf cs-etm: Treat EO_TRACE element as trace discontinuity

    If the decoder outputs an EO_TRACE element, it means the end of the
    trace buffer; this is a discontinuity and in this case the end of trace
    data needs to be saved.

    This patch generates a CS_ETM_DISCONTINUITY packet for the EO_TRACE
    element hereby flushing the end of trace data in cs-etm.c.

    Signed-off-by: Leo Yan <leo.yan@linaro.org>
    Reviewed-by: Mathieu Poirier <mathieu.poirier@linaro.org>
    Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
    Cc: Jiri Olsa <jolsa@redhat.com>
    Cc: Mike Leach <mike.leach@linaro.org>
    Cc: Namhyung Kim <namhyung@kernel.org>
    Cc: Robert Walker <robert.walker@arm.com>
    Cc: coresight@lists.linaro.org
    Cc: linux-arm-kernel@lists.infradead.org
    Link: http://lkml.kernel.org/r/1544513908-16805-8-git-send-email-leo.yan@linaro.org
    Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
    ---
    tools/perf/util/cs-etm-decoder/cs-etm-decoder.c | 2 +-
    1 file changed, 1 insertion(+), 1 deletion(-)

    diff --git a/tools/perf/util/cs-etm-decoder/cs-etm-decoder.c b/tools/perf/util/cs-etm-decoder/cs-etm-decoder.c
    index bee026e76a4c..cda6f074bd03 100644
    --- a/tools/perf/util/cs-etm-decoder/cs-etm-decoder.c
    +++ b/tools/perf/util/cs-etm-decoder/cs-etm-decoder.c
    @@ -409,6 +409,7 @@ static ocsd_datapath_resp_t cs_etm_decoder__gen_trace_elem_printer(
    switch (elem->elem_type) {
    case OCSD_GEN_TRC_ELEM_UNKNOWN:
    break;
    + case OCSD_GEN_TRC_ELEM_EO_TRACE:
    case OCSD_GEN_TRC_ELEM_NO_SYNC:
    case OCSD_GEN_TRC_ELEM_TRACE_ON:
    resp = cs_etm_decoder__buffer_discontinuity(decoder,
    @@ -425,7 +426,6 @@ static ocsd_datapath_resp_t cs_etm_decoder__gen_trace_elem_printer(
    decoder->packet_buffer[decoder->tail].exc_ret = true;
    break;
    case OCSD_GEN_TRC_ELEM_PE_CONTEXT:
    - case OCSD_GEN_TRC_ELEM_EO_TRACE:
    case OCSD_GEN_TRC_ELEM_ADDR_NACC:
    case OCSD_GEN_TRC_ELEM_TIMESTAMP:
    case OCSD_GEN_TRC_ELEM_CYCLE_COUNT:
    \
     
     \ /
      Last update: 2018-12-20 19:16    [W:2.596 / U:0.040 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site