coresight: perf: Output trace id only once
authorSuzuki K Poulose <suzuki.poulose@arm.com>
Fri, 20 Jan 2023 10:34:34 +0000 (10:34 +0000)
committerSuzuki K Poulose <suzuki.poulose@arm.com>
Tue, 24 Jan 2023 10:41:46 +0000 (10:41 +0000)
commita646ca099b1811f23a7c1eee58aaf38628ec5e83
treebddc84cb2b0aade8cf306de6354291251f6b9f2a
parent0c507af711df7e7b114fa6ec188e6d860cae29c1
coresight: perf: Output trace id only once

With the dynamic traceid allocation scheme in, we output the
AUX_OUTPUT_HWID packet every time event->start() is called.
This could cause too many such records in the perf.data,
while only one per CPU throughout the life time of
the event is required. Make sure we only output it once.

Before this patch:
  $ perf report -D | grep OUTPUT_HW_ID
  ...
  AUX_OUTPUT_HW_ID events:         55  (18.3%)

After this patch:

 $ perf report -D | grep OUTPUT_HW_ID
 ...
 AUX_OUTPUT_HW_ID events:          5  ( 1.9%)

Cc: Mike Leach <mike.leach@linaro.org>
Cc: James Clark <james.clark@arm.com>
Cc: Leo Yan <leo.yan@linaro.org>
Signed-off-by: Suzuki K Poulose <suzuki.poulose@arm.com>
Reviewed-by: James Clark <james.clark@arm.com>
Link: https://lore.kernel.org/r/20230120103434.864318-1-suzuki.poulose@arm.com
drivers/hwtracing/coresight/coresight-etm-perf.c
drivers/hwtracing/coresight/coresight-etm-perf.h