From: Leo Yan <leo.yan@arm.com>
To: James Clark <james.clark@linaro.org>
Cc: Suzuki K Poulose <suzuki.poulose@arm.com>,
Mike Leach <mike.leach@arm.com>,
Arnaldo Carvalho de Melo <acme@kernel.org>,
Namhyung Kim <namhyung@kernel.org>, Jiri Olsa <jolsa@kernel.org>,
Ian Rogers <irogers@google.com>, Amir Ayupov <aaupov@meta.com>,
Jonathan Corbet <corbet@lwn.net>,
Shuah Khan <skhan@linuxfoundation.org>,
Paschalis Mpeis <Paschalis.Mpeis@arm.com>,
coresight@lists.linaro.org, linux-perf-users@vger.kernel.org,
linux-kernel@vger.kernel.org,
Arnaldo Carvalho de Melo <acme@redhat.com>,
linux-doc@vger.kernel.org
Subject: Re: [PATCH v2 06/18] perf test cs-etm: Replace unroll loop thread with deterministic decode test
Date: Wed, 3 Jun 2026 18:08:23 +0100 [thread overview]
Message-ID: <20260603170823.GA101133@e132581.arm.com> (raw)
In-Reply-To: <2f1db2b3-93e8-4c32-b207-304e3a43ce77@linaro.org>
On Wed, Jun 03, 2026 at 05:01:02PM +0100, James Clark wrote:
[...]
> > > +# Remove open brace lines as they may not be hit depending on the compiler
> > > +sed -i \
> > > + -e '/deterministic.c:8$/d' \
> > > + -e '/deterministic.c:15$/d' \
> > > + -e '/deterministic.c:23$/d' \
> > > + "$tmpdir/script"
> >
> > Is this related to the function definition?
> >
> > I can see the brace lines with change below. It might be more reliable
> > if adding unused function argument, which can give chance for hit
> > function entry.
> >
> > static int function1(void)
> > {
> > ...
> >
> > return 0;
> > }
>
> Originally I included the brace lines in the test and it was working even
> without function arguments, but Sashiko mentioned that they may not always
> be hit.
I tried Clang to build the program and can see the brace lines are
missed for function1() / function2().
Does Sashiko mention any reasons causing the issue?
> I think its point was that there is no hard rule about debug symbols for
> open braces and the behavior might change from one version of the compiler
> to the next, or whether there is a function prologue or inlining or not etc.
>
> I don't think it's important to the test at all though? So to err on the
> side of caution it makes sense to not test for them. Unless there's a reason
> you think testing for open braces is important? Surely just testing for
> actual lines of code appearing in a certain order is enough.
As the test program is named as "deterministic", wouldn't we expect the
test to hit every code line run in the program?
It is fine for me to skip some checks _if_ we know the reason. I dumped
the disassembly, it shows function entry is a distinguished position
from the first calculation sentence (same for both GCC and Clang). And
there have no difference for a function entry after I tweaked the
function return type from "void" to "int". I still have no clue why
brace lines are misses.
Thanks,
Leo
next prev parent reply other threads:[~2026-06-03 17:08 UTC|newest]
Thread overview: 66+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-06-02 14:26 [PATCH v2 00/18] perf cs-etm: Queue context packets for frontend James Clark
2026-06-02 14:26 ` [PATCH v2 01/18] " James Clark
2026-06-02 14:43 ` sashiko-bot
2026-06-03 9:37 ` James Clark
2026-06-03 9:08 ` Leo Yan
2026-06-02 14:26 ` [PATCH v2 02/18] perf test: Add workload-ctl option James Clark
2026-06-02 14:40 ` sashiko-bot
2026-06-03 10:40 ` Leo Yan
2026-06-03 10:46 ` James Clark
2026-06-03 10:50 ` Leo Yan
2026-06-03 19:21 ` Arnaldo Carvalho de Melo
2026-06-03 19:22 ` Arnaldo Carvalho de Melo
2026-06-02 14:26 ` [PATCH v2 03/18] perf test: Add a workload that forces context switches James Clark
2026-06-02 14:38 ` sashiko-bot
2026-06-03 11:06 ` Leo Yan
2026-06-03 11:17 ` James Clark
2026-06-02 14:26 ` [PATCH v2 04/18] perf test cs-etm: Test process attribution James Clark
2026-06-03 11:10 ` Leo Yan
2026-06-03 11:20 ` James Clark
2026-06-02 14:26 ` [PATCH v2 05/18] perf test: Add deterministic workload James Clark
2026-06-02 14:49 ` sashiko-bot
2026-06-03 11:27 ` Leo Yan
2026-06-03 13:10 ` James Clark
2026-06-03 13:43 ` Leo Yan
2026-06-03 15:53 ` James Clark
2026-06-02 14:26 ` [PATCH v2 06/18] perf test cs-etm: Replace unroll loop thread with deterministic decode test James Clark
2026-06-03 14:08 ` Leo Yan
2026-06-03 16:01 ` James Clark
2026-06-03 17:08 ` Leo Yan [this message]
2026-06-04 13:21 ` James Clark
2026-06-02 14:26 ` [PATCH v2 07/18] perf test cs-etm: Remove asm_pure_loop test James Clark
2026-06-03 14:10 ` Leo Yan
2026-06-02 14:26 ` [PATCH v2 08/18] perf test cs-etm: Replace memcpy test with raw dump stress test James Clark
2026-06-02 15:01 ` sashiko-bot
2026-06-03 14:36 ` Leo Yan
2026-06-03 16:11 ` James Clark
2026-06-03 18:16 ` Leo Yan
2026-06-02 14:26 ` [PATCH v2 09/18] perf test: Add named_threads workload James Clark
2026-06-02 15:01 ` sashiko-bot
2026-06-03 14:54 ` Leo Yan
2026-06-03 16:12 ` James Clark
2026-06-03 17:36 ` Leo Yan
2026-06-02 14:26 ` [PATCH v2 10/18] perf test cs-etm: Test decoding for concurrent threads test James Clark
2026-06-03 14:56 ` Leo Yan
2026-06-02 14:26 ` [PATCH v2 11/18] perf test cs-etm: Remove duplicate branch tests James Clark
2026-06-02 15:05 ` sashiko-bot
2026-06-03 17:11 ` Leo Yan
2026-06-02 14:26 ` [PATCH v2 12/18] perf test cs-etm: Reduce snapshot size James Clark
2026-06-03 17:12 ` Leo Yan
2026-06-02 14:26 ` [PATCH v2 13/18] perf test cs-etm: Speed up basic test James Clark
2026-06-03 17:17 ` Leo Yan
2026-06-02 14:26 ` [PATCH v2 14/18] perf test cs-etm: Remove unused Coresight workloads James Clark
2026-06-03 17:25 ` Leo Yan
2026-06-04 13:31 ` James Clark
2026-06-04 13:34 ` James Clark
2026-06-02 14:26 ` [PATCH v2 15/18] perf test cs-etm: Make disassembly test use kcore James Clark
2026-06-03 17:32 ` Leo Yan
2026-06-04 12:18 ` James Clark
2026-06-02 14:26 ` [PATCH v2 16/18] perf test cs-etm: Add all branch instructions to test James Clark
2026-06-03 17:49 ` Leo Yan
2026-06-02 14:26 ` [PATCH v2 17/18] perf test cs-etm: Speed up disassembly test James Clark
2026-06-02 15:26 ` sashiko-bot
2026-06-03 17:50 ` Leo Yan
2026-06-02 14:27 ` [PATCH v2 18/18] perf test cs-etm: Move existing tests to coresight folder James Clark
2026-06-03 18:02 ` Leo Yan
2026-06-04 12:22 ` 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=20260603170823.GA101133@e132581.arm.com \
--to=leo.yan@arm.com \
--cc=Paschalis.Mpeis@arm.com \
--cc=aaupov@meta.com \
--cc=acme@kernel.org \
--cc=acme@redhat.com \
--cc=corbet@lwn.net \
--cc=coresight@lists.linaro.org \
--cc=irogers@google.com \
--cc=james.clark@linaro.org \
--cc=jolsa@kernel.org \
--cc=linux-doc@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-perf-users@vger.kernel.org \
--cc=mike.leach@arm.com \
--cc=namhyung@kernel.org \
--cc=skhan@linuxfoundation.org \
--cc=suzuki.poulose@arm.com \
/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