Re: [RFC PATCH 5/6] perf cs-etm: Improve Coresight zero timestamp warning

From: Leo Yan
Date: Mon Aug 02 2021 - 11:17:21 EST


On Thu, Jul 29, 2021 at 04:58:04PM +0100, James Clark wrote:
> Only show the warning if the user hasn't already set timeless mode and
> improve the text because there was ambiguity around the meaning of '...'
>
> Change the warning to a UI warning instead of printing straight to
> stderr because this corrupts the UI when perf report TUI is used. The UI
> warning function also handles printing to stderr when in perf script
> mode.
>
> Suggested-by: Leo Yan <leo.yan@xxxxxxxxxx>
> Signed-off-by: James Clark <james.clark@xxxxxxx>

Reviewed-by: Leo Yan <leo.yan@xxxxxxxxxx>

> ---
> tools/perf/util/cs-etm-decoder/cs-etm-decoder.c | 7 +++++--
> 1 file changed, 5 insertions(+), 2 deletions(-)
>
> 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 3e1a05bc82cc..5084bd2ca6eb 100644
> --- a/tools/perf/util/cs-etm-decoder/cs-etm-decoder.c
> +++ b/tools/perf/util/cs-etm-decoder/cs-etm-decoder.c
> @@ -324,8 +324,11 @@ cs_etm_decoder__do_hard_timestamp(struct cs_etm_queue *etmq,
> * underflow.
> */
> packet_queue->cs_timestamp = 0;
> - WARN_ONCE(true, "Zero Coresight timestamp found at Idx:%" OCSD_TRC_IDX_STR
> - ". Decoding may be improved with --itrace=Z...\n", indx);
> + if (!cs_etm__etmq_is_timeless(etmq))
> + pr_warning_once("Zero Coresight timestamp found at Idx:%" OCSD_TRC_IDX_STR
> + ". Decoding may be improved by prepending 'Z' to your current --itrace arguments.\n",
> + indx);
> +
> } else if (packet_queue->instr_count > elem->timestamp) {
> /*
> * Sanity check that the elem->timestamp - packet_queue->instr_count would not
> --
> 2.28.0
>