[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20251126144437.GL724103@e132581.arm.com>
Date: Wed, 26 Nov 2025 14:44:37 +0000
From: Leo Yan <leo.yan@....com>
To: Mike Leach <mike.leach@...aro.org>
Cc: James Clark <james.clark@...aro.org>,
Suzuki K Poulose <suzuki.poulose@....com>,
Alexander Shishkin <alexander.shishkin@...ux.intel.com>,
Jonathan Corbet <corbet@....net>,
Randy Dunlap <rdunlap@...radead.org>, coresight@...ts.linaro.org,
linux-arm-kernel@...ts.infradead.org, linux-kernel@...r.kernel.org,
linux-doc@...r.kernel.org
Subject: Re: [PATCH v7 13/13] coresight: docs: Document etm4x timestamp
interval option
On Wed, Nov 26, 2025 at 02:20:14PM +0000, Mike Leach wrote:
[...]
> > > * - timestamp
> > > - - Session local version of the system wide setting: :ref:`ETMv4_MODE_TIMESTAMP
> > > - <coresight-timestamp>`
> > > + - Controls generation and interval of timestamps.
> > > +
> > > + 0 = off, 1 = minimum interval .. 15 = maximum interval.
> > > +
> > > + Values 1 - 14 use a counter that decrements every cycle to generate a
> > > + timestamp on underflow. The reload value for the counter is 2 ^ (interval
> > > + - 1). If the value is 1 then the reload value is 1, if the value is 11
> > > + then the reload value is 1024 etc.
> > > +
> > > + Setting the maximum interval (15) will disable the counter generated
> > > + timestamps, freeing the counter resource, leaving only ones emitted when
> > > + a SYNC packet is generated. The sync interval is controlled with
> > > + TRCSYNCPR.PERIOD which is every 4096 bytes of trace by default.
> > > +
>
> What is the default value?
>From driver's pespective, the default value is 0 (disabled). We do
set default values in perf:
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/tools/perf/arch/arm/util/cs-etm.c#n444
IIUC, the default value would be the same with or without this series.
> As far as I recall when this command line parameter was a bool then:
> perf -e cs_etm/timestamp/ <program>
> is sufficient to turn on timestamping.
Hmm... with the latest perf, we must assign value to `timestamp`,
otherwise perf will report error:
# /mnt/build/perf record -e cs_etm/timestamp/ -C 0 -- taskset -c 0 ls
event syntax error: 'cs_etm/timestamp/'
\___ Bad event or PMU
Unable to find PMU or event on a PMU of 'cs_etm'
event syntax error: 'cs_etm/timestamp/'
\___ no value assigned for term
event syntax error: 'cs_etm/timestamp/'
\___ no value assigned for term
Run 'perf list' for a list of valid events
> This is worth mentioning so users can correctly assess what happens
> for any existing scripts they might have.
>
> Based on this then the same command must set the timestamp to 1 -
> which will have the same effect as before as we do not want to break
> existing behaviour.
>
> Mike
>
>
> > > * - cc_threshold
> > > - Cycle count threshold value. If nothing is provided here or the provided value is 0, then the
> > > default value i.e 0x100 will be used. If provided value is less than minimum cycles threshold
> > >
> > > --
> > > 2.34.1
> > >
>
>
>
> --
> Mike Leach
> Principal Engineer, ARM Ltd.
> Manchester Design Centre. UK
Powered by blists - more mailing lists