[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