From: Leo Yan <leo.yan@linaro.org>
To: Carsten Haitzler <carsten.haitzler@foss.arm.com>
Cc: linux-kernel@vger.kernel.org, coresight@lists.linaro.org,
suzuki.poulose@arm.com, mathieu.poirier@linaro.org,
mike.leach@linaro.org, inux-perf-users@vger.kernel.org,
acme@kernel.org
Subject: Re: [PATCH 07/12] perf test: Add simple bubblesort test for coresight aux data
Date: Wed, 12 Jan 2022 17:54:08 +0800 [thread overview]
Message-ID: <20220112095408.GB3322255@leoy-ThinkPad-X240s> (raw)
In-Reply-To: <5b46181f-2162-e07d-c142-e257583daee8@foss.arm.com>
Hi Carsten,
On Tue, Jan 04, 2022 at 03:13:08PM +0000, Carsten Haitzler wrote:
> On 1/3/22 08:00, Leo Yan wrote:
[...]
> > Furthermore, I expect the bubble sort is to be used for testing the
> > CoreSight configuration, e.g. it can be used to test for the strobing
> > mode (and for validation AutoFDO).
> >
> > How about you think for this?
>
> I actually didn't include any autofdo testing as this was mostly a matter of
> tooling after you have collected a trace. Run through the trace data and
> then build up a good image of the execution of the target and that would
> probably belong in tooling outside of the kernel. The idea here was to see
> if we do collect sufficient amounts of data and that the data looks "sane".
Yeah, this is consistent with what Suzuki told me that the main target
of this patch set is to verify the CoreSight trace data quality.
> This is all about looking to see if we only get a single block or only 2 or
> 3 blocks then it stops or no blocks and then with various stresses on kernel
> (memory heavy, cpu heavy) to see if anything will greatly affect this.
>
> The bubble sort does allow a basis to build some fdo tests on, but having a
> baseline of "does it collect data at all" to start with is a good call. I
> had not tested the strobing yet as that was probably another phase in this.
> Most of this was about getting the core infrastructure in to be able to add
> lots of little test tools we can run and the harnesses to run them and
> collect statistical data over time.
>
> Just a side note - the asm loop is arm64 specific and thus it's good for
> testing an exact result from, but bubble sort is portable. It would allow us
> to use this for an Arm 64 platform like the Morello board. I've been
> keeping in mind "be somewhat portable" for this reason.
>
> The only downside of keeping this test I think is that the whole test suite
> takes a bit longer to run. Is this sufficient a concern to remove this test
> from the patchset given the above?
So my essential purpose is to condense test cases as possible :)
For example, although the Arm64 asm loop case and the bubble sort case
have different execution flows, both of them actually are to verify
verify a complete process with CoreSight trace data recording and
reporting (so covers CoreSight driver, perf tool and OpenCSD lib).
Since we can pass different loop number to a test program, e.g. we
already have one case to test very small trace data with Arm64 asm
loop, why we still need the test case of bubble soring with small
array? Seems to me that more cases are not bad thing, but if both
case work on the same integration flow, I personally think these two
cases cannot give us significant benefit rather than single case.
Throughout the whole patch set, my another concern is some test cases
are platform dependent. E.g. if mainline kernel contains these test
cases and later a developer reports a test case failure, it's difficult
for us to figure out whether the failure is caused by the platform
factors (e.g. memory usage, timeout, etc), or it's a good exposing for
any issue in software components.
So for a test case requiring very small resources, we can set a strict
criteria, for a test case with big chunk trace data, we can report a
percentage value as the profiling quality metrics (e.g. we expect 1000
branch samples, but the result only contains 100 branch samples, so we
can output the quality metrics as 100 / 1000 = 10%). This can allow us
to easily conclude that the underlying mechanism works well, but the
profiling quality is bad caused by losing tracing data. In other
word, we can convert the quality result from binary format to a
range value [0% .. 100%].
Thanks,
Leo
next prev parent reply other threads:[~2022-01-12 9:54 UTC|newest]
Thread overview: 40+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-12-15 16:03 [PATCH 01/12] perf test: Shell - Limit to only run executable scripts in tests carsten.haitzler
2021-12-15 16:03 ` [PATCH 02/12] perf test: Shell - only run .sh shell files to skip other files carsten.haitzler
2021-12-16 10:22 ` Daniel Thompson
2021-12-16 19:45 ` Carsten Haitzler
2021-12-17 15:00 ` Suzuki K Poulose
2021-12-17 17:22 ` Carsten Haitzler
2021-12-15 16:03 ` [PATCH 03/12] perf test: Use 3 digits for test numbering now we can have more tests carsten.haitzler
2021-12-21 12:35 ` Leo Yan
2021-12-21 20:51 ` Arnaldo Carvalho de Melo
2021-12-15 16:03 ` [PATCH 04/12] perf test: Add beginning of test infra + test to exercise coresight carsten.haitzler
2021-12-21 15:03 ` Leo Yan
2021-12-21 20:40 ` Arnaldo Carvalho de Melo
2022-01-04 15:15 ` Carsten Haitzler
2022-01-04 15:14 ` Carsten Haitzler
2022-01-19 16:58 ` James Clark
2022-02-04 10:21 ` Mike Leach
2021-12-15 16:03 ` [PATCH 05/12] perf test: Add coresight test to check all threads get some data logged carsten.haitzler
2022-01-03 7:07 ` Leo Yan
2022-01-04 15:01 ` Carsten Haitzler
2021-12-15 16:03 ` [PATCH 06/12] perf test: Add tests to re-use the thread loop test to check aux data carsten.haitzler
2022-02-04 10:36 ` Mike Leach
2021-12-15 16:03 ` [PATCH 07/12] perf test: Add simple bubblesort test for coresight " carsten.haitzler
2022-01-03 8:00 ` Leo Yan
2022-01-04 15:13 ` Carsten Haitzler
2022-01-12 9:54 ` Leo Yan [this message]
2021-12-15 16:03 ` [PATCH 08/12] perf test: Add threaded bubblesort tests for coresight carsten.haitzler
2021-12-15 16:04 ` [PATCH 09/12] perf test: Add add memcpy test for coresight quality checking carsten.haitzler
2022-02-04 10:43 ` Mike Leach
2021-12-15 16:04 ` [PATCH 10/12] perf test: Add threaded memcpy tests to check coresight aux data carsten.haitzler
2021-12-15 16:04 ` [PATCH 11/12] perf test: Add unrolled loop tests for " carsten.haitzler
2022-02-04 10:51 ` Mike Leach
2021-12-15 16:04 ` [PATCH 12/12] perf test: Add docs for coresight and related tests carsten.haitzler
2022-01-19 16:43 ` James Clark
2022-01-31 18:05 ` Carsten Haitzler
2022-02-04 14:50 ` Mike Leach
2022-03-09 12:25 ` Carsten Haitzler
2022-03-09 12:30 ` Carsten Haitzler
2021-12-17 14:55 ` [PATCH 01/12] perf test: Shell - Limit to only run executable scripts in tests Suzuki K Poulose
2021-12-17 17:18 ` Carsten Haitzler
-- strict thread matches above, loose matches on Subject: below --
2021-12-15 12:53 carsten.haitzler
2021-12-15 12:54 ` [PATCH 07/12] perf test: Add simple bubblesort test for coresight aux data carsten.haitzler
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=20220112095408.GB3322255@leoy-ThinkPad-X240s \
--to=leo.yan@linaro.org \
--cc=acme@kernel.org \
--cc=carsten.haitzler@foss.arm.com \
--cc=coresight@lists.linaro.org \
--cc=inux-perf-users@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mathieu.poirier@linaro.org \
--cc=mike.leach@linaro.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
all inboxes | Powered by JetHome®