[PATCH v7 13/13] coresight: docs: Document etm4x timestamp interval option
Leo Yan
leo.yan at arm.com
Wed Nov 26 06:44:37 PST 2025
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
More information about the linux-arm-kernel
mailing list