From: James Clark <james.clark@linaro.org>
To: Leo Yan <leo.yan@arm.com>
Cc: Peter Zijlstra <peterz@infradead.org>,
Ingo Molnar <mingo@redhat.com>,
Arnaldo Carvalho de Melo <acme@kernel.org>,
Namhyung Kim <namhyung@kernel.org>,
Mark Rutland <mark.rutland@arm.com>,
Alexander Shishkin <alexander.shishkin@linux.intel.com>,
Jiri Olsa <jolsa@kernel.org>, Ian Rogers <irogers@google.com>,
Adrian Hunter <adrian.hunter@intel.com>,
Suzuki K Poulose <suzuki.poulose@arm.com>,
Mike Leach <mike.leach@linaro.org>,
John Garry <john.g.garry@oracle.com>,
Will Deacon <will@kernel.org>, Leo Yan <leo.yan@linux.dev>,
linux-perf-users@vger.kernel.org, linux-kernel@vger.kernel.org,
coresight@lists.linaro.org, linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH 4/7] perf cs-etm: Don't use hard coded config bits when setting up ETMCR
Date: Thu, 4 Dec 2025 10:55:37 +0000 [thread overview]
Message-ID: <96c54895-cebe-4247-86e6-d41b8be0dd40@linaro.org> (raw)
In-Reply-To: <53b24702-eb3b-4e08-bca3-70402eaf4db5@linaro.org>
On 02/12/2025 11:53 am, James Clark wrote:
>
>
> On 02/12/2025 11:43 am, Leo Yan wrote:
>> On Mon, Dec 01, 2025 at 04:41:07PM +0000, Coresight ML wrote:
>>
>> [...]
>>
>>> @@ -746,7 +779,7 @@ static void cs_etm_get_metadata(struct perf_cpu
>>> cpu, u32 *offset,
>>> case CS_ETMV3:
>>> magic = __perf_cs_etmv3_magic;
>>> /* Get configuration register */
>>> - info->priv[*offset + CS_ETM_ETMCR] = cs_etm_get_config(itr);
>>> + info->priv[*offset + CS_ETM_ETMCR] = cs_etm_guess_etmcr(itr);
>>
>> I still think cs_etm_get_config() is better than cs_etm_guess_etmcr().
>>
>> For ETMv3, we directly pass CONFIG to the kernel, and after validation
>> in the dirver, then the value will be set to ETMCR. If we already know
>> the config value is consistent between user space and kernel, why
One other note is that since moving the timestamp field, this is no
longer true either. The value in attr.config isn't directly put into ETMCR.
>> introduce a redundant "guess" operation here?
>>
>> Thanks,
>> Leo
>
> Because userspace doesn't always come up with the same value as the
> driver. For example right now in ETM3, ETMCR_RETURN_STACK isn't set
> depending on certain conditions that userspace doesn't know about. ETM4
> has the same for TRCCONFIGR_RS and maybe some others. In the future,
> other versions of the driver could do different things as long as we
> don't break decoding.
>
> I didn't want the function name to imply it was doing something it
> wasn't as that confused me a little bit. It's definitely not "getting"
> the value. Maybe "guess" isn't the best it could be, but it's not far off.
>
next prev parent reply other threads:[~2025-12-04 10:55 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-12-01 16:41 [PATCH 0/7] perf cs-etm/arm-spe: Remove hard coded config fields James Clark
2025-12-01 16:41 ` [PATCH 1/7] perf tools: Track all user changed config bits James Clark
2025-12-02 10:15 ` Leo Yan
2025-12-02 10:40 ` James Clark
2025-12-02 11:21 ` Leo Yan
2025-12-02 12:36 ` Leo Yan
2025-12-01 16:41 ` [PATCH 2/7] perf tools: apply evsel__set_config_if_unset() to all config fields James Clark
2025-12-02 11:14 ` Leo Yan
2025-12-04 10:55 ` James Clark
2025-12-01 16:41 ` [PATCH 3/7] perf cs-etm: Make a helper to find the Coresight evsel James Clark
2025-12-02 11:24 ` Leo Yan
2025-12-01 16:41 ` [PATCH 4/7] perf cs-etm: Don't use hard coded config bits when setting up ETMCR James Clark
2025-12-02 11:43 ` Leo Yan
2025-12-02 11:53 ` James Clark
2025-12-04 10:55 ` James Clark [this message]
2025-12-04 13:45 ` Mike Leach
2025-12-04 13:48 ` James Clark
2025-12-01 16:41 ` [PATCH 5/7] perf cs-etm: Don't use hard coded config bits when setting up TRCCONFIGR James Clark
2025-12-02 12:01 ` Leo Yan
2025-12-01 16:41 ` [PATCH 6/7] perf cs-etm: Don't hard code config attribute when configuring the event James Clark
2025-12-02 12:15 ` Leo Yan
2025-12-04 14:08 ` James Clark
2025-12-04 14:43 ` Leo Yan
2025-12-01 16:41 ` [PATCH 7/7] perf arm-spe: Don't hard code config attribute James Clark
2025-12-02 12:28 ` Leo Yan
2025-12-02 12:42 ` Leo Yan
2025-12-02 12:59 ` James Clark
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=96c54895-cebe-4247-86e6-d41b8be0dd40@linaro.org \
--to=james.clark@linaro.org \
--cc=acme@kernel.org \
--cc=adrian.hunter@intel.com \
--cc=alexander.shishkin@linux.intel.com \
--cc=coresight@lists.linaro.org \
--cc=irogers@google.com \
--cc=john.g.garry@oracle.com \
--cc=jolsa@kernel.org \
--cc=leo.yan@arm.com \
--cc=leo.yan@linux.dev \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-perf-users@vger.kernel.org \
--cc=mark.rutland@arm.com \
--cc=mike.leach@linaro.org \
--cc=mingo@redhat.com \
--cc=namhyung@kernel.org \
--cc=peterz@infradead.org \
--cc=suzuki.poulose@arm.com \
--cc=will@kernel.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).