From: Arnaldo Carvalho de Melo <acme@kernel.org>
To: Namhyung Kim <namhyung@kernel.org>
Cc: Jiri Olsa <jolsa@kernel.org>, Ingo Molnar <mingo@kernel.org>,
Peter Zijlstra <peterz@infradead.org>,
LKML <linux-kernel@vger.kernel.org>,
Ian Rogers <irogers@google.com>,
Adrian Hunter <adrian.hunter@intel.com>,
linux-perf-users@vger.kernel.org, Leo Yan <leo.yan@linaro.org>,
German Gomez <german.gomez@arm.com>,
Zhengjun Xing <zhengjun.xing@linux.intel.com>,
James Clark <james.clark@arm.com>,
Athira Jajeev <atrajeev@linux.vnet.ibm.com>
Subject: Re: [PATCH 05/12] perf test: Add 'leafloop' test workload
Date: Thu, 17 Nov 2022 13:06:16 -0300 [thread overview]
Message-ID: <Y3Zb+JChHoq+89yM@kernel.org> (raw)
In-Reply-To: <20221116233854.1596378-6-namhyung@kernel.org>
Em Wed, Nov 16, 2022 at 03:38:47PM -0800, Namhyung Kim escreveu:
> The leafloop workload is to run an infinite loop in the test_leaf
> function. This is needed for the ARM fp callgraph test to verify if it
> gets the correct callchains.
>
> $ perf test -w leafloop
On fedora:36
In file included from /usr/include/bits/libc-header-start.h:33,
from /usr/include/stdlib.h:26,
from tests/workloads/leafloop.c:2:
/usr/include/features.h:412:4: error: #warning _FORTIFY_SOURCE requires compiling with optimization (-O) [-Werror=cpp]
412 | # warning _FORTIFY_SOURCE requires compiling with optimization (-O)
| ^~~~~~~
cc1: all warnings being treated as errors
make[5]: *** [/home/acme/git/perf/tools/build/Makefile.build:96: /tmp/build/perf/tests/workloads/leafloop.o] Error 1
make[5]: *** Waiting for unfinished jobs....
I'll try removing the _FORTIFY_SOURCE
> Signed-off-by: Namhyung Kim <namhyung@kernel.org>
> ---
> tools/perf/tests/builtin-test.c | 1 +
> tools/perf/tests/tests.h | 1 +
> tools/perf/tests/workloads/Build | 3 +++
> tools/perf/tests/workloads/leafloop.c | 34 +++++++++++++++++++++++++++
> 4 files changed, 39 insertions(+)
> create mode 100644 tools/perf/tests/workloads/leafloop.c
>
> diff --git a/tools/perf/tests/builtin-test.c b/tools/perf/tests/builtin-test.c
> index 161f38476e77..0ed5ac452f6e 100644
> --- a/tools/perf/tests/builtin-test.c
> +++ b/tools/perf/tests/builtin-test.c
> @@ -121,6 +121,7 @@ static struct test_suite **tests[] = {
> static struct test_workload *workloads[] = {
> &workload__noploop,
> &workload__thloop,
> + &workload__leafloop,
> };
>
> static int num_subtests(const struct test_suite *t)
> diff --git a/tools/perf/tests/tests.h b/tools/perf/tests/tests.h
> index e6edfeeadaeb..86804dd6452b 100644
> --- a/tools/perf/tests/tests.h
> +++ b/tools/perf/tests/tests.h
> @@ -202,5 +202,6 @@ struct test_workload workload__##work = { \
> /* The list of test workloads */
> DECLARE_WORKLOAD(noploop);
> DECLARE_WORKLOAD(thloop);
> +DECLARE_WORKLOAD(leafloop);
>
> #endif /* TESTS_H */
> diff --git a/tools/perf/tests/workloads/Build b/tools/perf/tests/workloads/Build
> index b8964b1099c0..631596bdb2b3 100644
> --- a/tools/perf/tests/workloads/Build
> +++ b/tools/perf/tests/workloads/Build
> @@ -2,3 +2,6 @@
>
> perf-y += noploop.o
> perf-y += thloop.o
> +perf-y += leafloop.o
> +
> +CFLAGS_leafloop.o = -g -O0 -fno-inline -fno-omit-frame-pointer
> diff --git a/tools/perf/tests/workloads/leafloop.c b/tools/perf/tests/workloads/leafloop.c
> new file mode 100644
> index 000000000000..1bf5cc97649b
> --- /dev/null
> +++ b/tools/perf/tests/workloads/leafloop.c
> @@ -0,0 +1,34 @@
> +/* SPDX-License-Identifier: GPL-2.0 */
> +#include <stdlib.h>
> +#include <linux/compiler.h>
> +#include "../tests.h"
> +
> +/* We want to check these symbols in perf script */
> +noinline void leaf(volatile int b);
> +noinline void parent(volatile int b);
> +
> +static volatile int a;
> +
> +noinline void leaf(volatile int b)
> +{
> + for (;;)
> + a += b;
> +}
> +
> +noinline void parent(volatile int b)
> +{
> + leaf(b);
> +}
> +
> +static int leafloop(int argc, const char **argv)
> +{
> + int c = 1;
> +
> + if (argc > 0)
> + c = atoi(argv[0]);
> +
> + parent(c);
> + return 0;
> +}
> +
> +DEFINE_WORKLOAD(leafloop);
> --
> 2.38.1.584.g0f3c55d4c2-goog
--
- Arnaldo
next prev parent reply other threads:[~2022-11-17 16:07 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-11-16 23:38 [PATCHSET 00/12] perf test: Add test workloads (v3) Namhyung Kim
2022-11-16 23:38 ` [PATCH 01/12] perf test: Add -w/--workload option Namhyung Kim
2022-11-16 23:38 ` [PATCH 02/12] perf test: Replace pipe test workload with noploop Namhyung Kim
2022-11-16 23:38 ` [PATCH 03/12] perf test: Add 'thloop' test workload Namhyung Kim
2022-11-16 23:38 ` [PATCH 04/12] perf test: Replace record test workload with thloop Namhyung Kim
2022-11-16 23:38 ` [PATCH 05/12] perf test: Add 'leafloop' test workload Namhyung Kim
2022-11-17 16:06 ` Arnaldo Carvalho de Melo [this message]
2022-11-17 16:15 ` Arnaldo Carvalho de Melo
2022-11-17 17:16 ` Ian Rogers
2022-11-17 17:24 ` Arnaldo Carvalho de Melo
2022-11-17 17:41 ` Ian Rogers
2022-11-17 18:11 ` Namhyung Kim
2022-11-18 11:32 ` James Clark
2022-11-18 14:58 ` Arnaldo Carvalho de Melo
2022-11-16 23:38 ` [PATCH 06/12] perf test: Replace arm callgraph fp test workload with leafloop Namhyung Kim
2022-11-16 23:38 ` [PATCH 07/12] perf test: Add 'sqrtloop' test workload Namhyung Kim
2022-11-16 23:38 ` [PATCH 08/12] perf test: Replace arm spe fork test workload with sqrtloop Namhyung Kim
2022-11-20 15:39 ` Arnaldo Carvalho de Melo
2022-11-16 23:38 ` [PATCH 09/12] perf test: Add 'brstack' test workload Namhyung Kim
2022-11-16 23:38 ` [PATCH 10/12] perf test: Replace brstack " Namhyung Kim
2022-11-16 23:38 ` [PATCH 11/12] perf test: Add 'datasym' " Namhyung Kim
2022-11-16 23:38 ` [PATCH 12/12] perf test: Replace data symbol test workload with datasym Namhyung Kim
-- strict thread matches above, loose matches on Subject: below --
2022-11-10 18:19 [PATCHSET 00/12] perf test: Add test workloads (v2) Namhyung Kim
2022-11-10 18:19 ` [PATCH 05/12] perf test: Add 'leafloop' test workload Namhyung Kim
2022-11-09 17:46 [PATCHSET 00/12] perf test: Add test workloads (v1) Namhyung Kim
2022-11-09 17:46 ` [PATCH 05/12] perf test: Add 'leafloop' test workload Namhyung Kim
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=Y3Zb+JChHoq+89yM@kernel.org \
--to=acme@kernel.org \
--cc=adrian.hunter@intel.com \
--cc=atrajeev@linux.vnet.ibm.com \
--cc=german.gomez@arm.com \
--cc=irogers@google.com \
--cc=james.clark@arm.com \
--cc=jolsa@kernel.org \
--cc=leo.yan@linaro.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-perf-users@vger.kernel.org \
--cc=mingo@kernel.org \
--cc=namhyung@kernel.org \
--cc=peterz@infradead.org \
--cc=zhengjun.xing@linux.intel.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.