From: Leo Yan <leo.yan@arm.com>
To: Al Grant <Al.Grant@arm.com>
Cc: James Clark <james.clark@linaro.org>,
Mike Leach <mike.leach@linaro.org>,
Alexander Shishkin <alexander.shishkin@linux.intel.com>,
Jonathan Corbet <corbet@lwn.net>,
Randy Dunlap <rdunlap@infradead.org>,
"coresight@lists.linaro.org" <coresight@lists.linaro.org>,
"linux-arm-kernel@lists.infradead.org"
<linux-arm-kernel@lists.infradead.org>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
"linux-doc@vger.kernel.org" <linux-doc@vger.kernel.org>
Subject: Re: [PATCH v7 13/13] coresight: docs: Document etm4x timestamp interval option
Date: Thu, 27 Nov 2025 10:32:58 +0000 [thread overview]
Message-ID: <20251127103258.GQ724103@e132581.arm.com> (raw)
In-Reply-To: <GV1PR08MB1093237396B35459656FF82CA86DEA@GV1PR08MB10932.eurprd08.prod.outlook.com>
On Wed, Nov 26, 2025 at 03:36:58PM +0000, Al Grant wrote:
[...]
> > >> 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
> > >
> > >
> >
> > That's unfortunate and not what I expected. And I don't think it makes sense to
> > remove that validation from Perf. The test uses "timestamp=1"
> > so I didn't notice.
> >
> > Can we accept that people are most likely using the defaults so timestamps are
> > already on and they wouldn't be using it? The only real use case of that at the
> > moment is to do timestamp=0 and that doesn't fail.
> >
> > Although it's not the default for per-thread mode and I did find the OpenCSD
> > HOWTO.md uses it as an example. timestamps make less sense in per-thread
> > mode as you don't need to correlate between CPUs or watch for context
> > switches.
>
> Timestamps have a more specialised use in per-thread mode, they are
> as you say less essential for switching in the right context to decode
> the trace, and less relevant to BOLT/AutoFDO style usage where the
> trace is collapsed into a heat-map profile.
>
> But trace can also be used to get a detailed timeline of CPU activity -
> a non-invasive timeline that can trace even through interrupt-disabled
> kernel code. And for that, having a global constant-frequency timebase
> becomes more useful, both in its own right, and to line up traces
> from each CPU with other CPUs and system-level traces.
> It's also the only way we have to indirectly observe CPU frequency
> adjustments. (Intel's Processor Trace, which is generally similar to
> ETM/ETE, has specific packets that trace CPU frequency changes.)
Just clarify a bit to make sure us on the same page.
This series does not break timestamp functionality, it just changes the
PMU format 'timestamp' from 1-bit to 4-bits for counter support. The
updated 'timestamp' format still supports per-thread mode and CPU wise
trace modes.
The only difference is now users need to specify 'cs_etm/timestamp=1/'
rather than 'cs_etm/timestamp/' when enabling timestamp. Given PMU
format is not an ABI, it is fine for me for the updated format.
To avoid confusion for users, a well-written document is deserved —
which is exactly this patch for. And perf log would be helpful. I
think we are well prepared for the change.
Thanks,
Leo
next prev parent reply other threads:[~2025-11-27 10:33 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-11-26 10:54 [PATCH v7 00/13] coresight: Update timestamp attribute to be an interval instead of bool James Clark
2025-11-26 10:54 ` [PATCH v7 01/13] coresight: Change syncfreq to be a u8 James Clark
2025-11-26 10:54 ` [PATCH v7 02/13] coresight: Repack struct etmv4_drvdata James Clark
2025-11-26 10:54 ` [PATCH v7 03/13] coresight: Refactor etm4_config_timestamp_event() James Clark
2025-11-26 10:54 ` [PATCH v7 04/13] coresight: Hide unused ETMv3 format attributes James Clark
2025-11-26 10:54 ` [PATCH v7 05/13] coresight: Define format attributes with GEN_PMU_FORMAT_ATTR() James Clark
2025-11-26 10:54 ` [PATCH v7 06/13] coresight: Interpret ETMv3 config with ATTR_CFG_GET_FLD() James Clark
2025-11-26 10:54 ` [PATCH v7 07/13] coresight: Don't reject unrecognized ETMv3 format attributes James Clark
2025-11-26 10:54 ` [PATCH v7 08/13] coresight: Interpret perf config with ATTR_CFG_GET_FLD() James Clark
2025-11-26 10:54 ` [PATCH v7 09/13] coresight: Interpret ETMv4 " James Clark
2025-11-26 10:54 ` [PATCH v7 10/13] coresight: Remove misleading definitions James Clark
2025-11-26 10:54 ` [PATCH v7 11/13] coresight: Extend width of timestamp format attribute James Clark
2025-11-26 10:54 ` [PATCH v7 12/13] coresight: Allow setting the timestamp interval James Clark
2025-11-27 2:27 ` Jie Gan
2025-11-27 15:48 ` Mike Leach
2025-11-27 16:09 ` James Clark
2025-11-27 16:11 ` Mike Leach
2025-11-26 10:54 ` [PATCH v7 13/13] coresight: docs: Document etm4x timestamp interval option James Clark
2025-11-26 14:01 ` Leo Yan
2025-11-26 14:20 ` Mike Leach
2025-11-26 14:44 ` Leo Yan
2025-11-26 15:08 ` James Clark
2025-11-26 15:36 ` Al Grant
2025-11-27 10:32 ` Leo Yan [this message]
2025-11-26 15:14 ` Leo Yan
2025-11-26 14:00 ` [PATCH v7 00/13] coresight: Update timestamp attribute to be an interval instead of bool Leo Yan
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20251127103258.GQ724103@e132581.arm.com \
--to=leo.yan@arm.com \
--cc=Al.Grant@arm.com \
--cc=alexander.shishkin@linux.intel.com \
--cc=corbet@lwn.net \
--cc=coresight@lists.linaro.org \
--cc=james.clark@linaro.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-doc@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mike.leach@linaro.org \
--cc=rdunlap@infradead.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).