[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <c22b084b-3853-405d-8b43-397786af7be9@arm.com>
Date: Fri, 5 Dec 2025 10:18:11 +0530
From: Anshuman Khandual <anshuman.khandual@....com>
To: Leo Yan <leo.yan@....com>, Suzuki K Poulose <suzuki.poulose@....com>,
Mike Leach <mike.leach@...aro.org>, James Clark <james.clark@...aro.org>,
Yeoreum Yun <yeoreum.yun@....com>, Will Deacon <will@...nel.org>,
Mark Rutland <mark.rutland@....com>, Tamas Petz <tamas.petz@....com>,
Tamas Zsoldos <tamas.zsoldos@....com>,
Arnaldo Carvalho de Melo <acme@...nel.org>,
Namhyung Kim <namhyung@...nel.org>, Jiri Olsa <jolsa@...nel.org>,
Ian Rogers <irogers@...gle.com>, Adrian Hunter <adrian.hunter@...el.com>
Cc: coresight@...ts.linaro.org, linux-arm-kernel@...ts.infradead.org,
linux-kernel@...r.kernel.org, linux-perf-users@...r.kernel.org
Subject: Re: [PATCH 19/19] perf: cs-etm: Set watermark for AUX trace
On 01/12/25 4:52 PM, Leo Yan wrote:
> The default watermark is half of the total buffer size. In many cases,
> the tool can not be notified with sufficient free space, especially when
> profiling with small AUX buffer (e.g., 64KiB).
Could not smaller AUX buffer be prevented for TRBE instead ?
> > Setting watermark to quarter of the buffer to notifies the tool to read
> data earlier and prevents the data loss.
>
> Signed-off-by: Leo Yan <leo.yan@....com>
> ---
> tools/perf/arch/arm/util/cs-etm.c | 7 +++++++
> 1 file changed, 7 insertions(+)
>
> diff --git a/tools/perf/arch/arm/util/cs-etm.c b/tools/perf/arch/arm/util/cs-etm.c
> index ea891d12f8f40beebf8dee1d3db71cad701f5666..649b8b0d0f92b4af45fb97db9da3c5ccf24a978b 100644
> --- a/tools/perf/arch/arm/util/cs-etm.c
> +++ b/tools/perf/arch/arm/util/cs-etm.c
> @@ -424,6 +424,13 @@ static int cs_etm_recording_options(struct auxtrace_record *itr,
> pr_debug2("%s snapshot size: %zu\n", CORESIGHT_ETM_PMU_NAME,
> opts->auxtrace_snapshot_size);
>
> + if (!opts->auxtrace_snapshot_mode && !opts->auxtrace_sample_mode) {
> + size_t aw = opts->auxtrace_mmap_pages * (size_t)page_size / 4;
> + u32 aux_watermark = aw > UINT_MAX ? UINT_MAX : aw;
> +
> + cs_etm_evsel->core.attr.aux_watermark = aux_watermark;
> + }
> +
> /*
> * To obtain the auxtrace buffer file descriptor, the auxtrace
> * event must come first.
>
Powered by blists - more mailing lists