2021-05-13 22:49:58

by Rob Herring (Arm)

[permalink] [raw]
Subject: [PATCH 1/2] perf tests: Consolidate test__arch_unwind_sample declaration

There's no reason for making the test__arch_unwind_sample declaration per
arch. Currently that's done 2 different ways either with a declaration in
arch-tests.h or with an arch define. Unify all this with an unconditional
declaration in tests.h.

Cc: Matt Fleming <[email protected]>
Cc: Masayoshi Mizuma <[email protected]>
Cc: John Garry <[email protected]>
Cc: Will Deacon <[email protected]>
Cc: Mathieu Poirier <[email protected]>
Cc: Leo Yan <[email protected]>
Cc: Peter Zijlstra <[email protected]>
Cc: Ingo Molnar <[email protected]>
Cc: Arnaldo Carvalho de Melo <[email protected]>
Cc: Mark Rutland <[email protected]>
Cc: Alexander Shishkin <[email protected]>
Cc: Jiri Olsa <[email protected]>
Cc: Namhyung Kim <[email protected]>
Cc: [email protected]
Cc: [email protected]
Signed-off-by: Rob Herring <[email protected]>
---
Note that the only thing really arch specific is getting the stack
pointer. I'm happy to refactor this further to just an arch function to
get the stack pointer reg.

Compiled on arm64 and x86.

---
tools/perf/arch/arm/include/arch-tests.h | 5 -----
tools/perf/arch/arm64/include/arch-tests.h | 5 -----
tools/perf/arch/powerpc/include/arch-tests.h | 7 -------
tools/perf/arch/powerpc/tests/dwarf-unwind.c | 1 -
tools/perf/arch/x86/include/arch-tests.h | 7 -------
tools/perf/arch/x86/tests/dwarf-unwind.c | 1 -
tools/perf/tests/dwarf-unwind.c | 4 ----
tools/perf/tests/tests.h | 2 --
8 files changed, 32 deletions(-)

diff --git a/tools/perf/arch/arm/include/arch-tests.h b/tools/perf/arch/arm/include/arch-tests.h
index 90ec4c8cb880..c62538052404 100644
--- a/tools/perf/arch/arm/include/arch-tests.h
+++ b/tools/perf/arch/arm/include/arch-tests.h
@@ -2,11 +2,6 @@
#ifndef ARCH_TESTS_H
#define ARCH_TESTS_H

-#ifdef HAVE_DWARF_UNWIND_SUPPORT
-struct thread;
-struct perf_sample;
-#endif
-
extern struct test arch_tests[];

#endif
diff --git a/tools/perf/arch/arm64/include/arch-tests.h b/tools/perf/arch/arm64/include/arch-tests.h
index 90ec4c8cb880..c62538052404 100644
--- a/tools/perf/arch/arm64/include/arch-tests.h
+++ b/tools/perf/arch/arm64/include/arch-tests.h
@@ -2,11 +2,6 @@
#ifndef ARCH_TESTS_H
#define ARCH_TESTS_H

-#ifdef HAVE_DWARF_UNWIND_SUPPORT
-struct thread;
-struct perf_sample;
-#endif
-
extern struct test arch_tests[];

#endif
diff --git a/tools/perf/arch/powerpc/include/arch-tests.h b/tools/perf/arch/powerpc/include/arch-tests.h
index 1c7be75cbc78..c62538052404 100644
--- a/tools/perf/arch/powerpc/include/arch-tests.h
+++ b/tools/perf/arch/powerpc/include/arch-tests.h
@@ -2,13 +2,6 @@
#ifndef ARCH_TESTS_H
#define ARCH_TESTS_H

-#ifdef HAVE_DWARF_UNWIND_SUPPORT
-struct thread;
-struct perf_sample;
-int test__arch_unwind_sample(struct perf_sample *sample,
- struct thread *thread);
-#endif
-
extern struct test arch_tests[];

#endif
diff --git a/tools/perf/arch/powerpc/tests/dwarf-unwind.c b/tools/perf/arch/powerpc/tests/dwarf-unwind.c
index 8efd9ed9e9db..c9cb4b059392 100644
--- a/tools/perf/arch/powerpc/tests/dwarf-unwind.c
+++ b/tools/perf/arch/powerpc/tests/dwarf-unwind.c
@@ -7,7 +7,6 @@
#include "event.h"
#include "debug.h"
#include "tests/tests.h"
-#include "arch-tests.h"

#define STACK_SIZE 8192

diff --git a/tools/perf/arch/x86/include/arch-tests.h b/tools/perf/arch/x86/include/arch-tests.h
index 0e20f3dc69f3..462546bfc5f7 100644
--- a/tools/perf/arch/x86/include/arch-tests.h
+++ b/tools/perf/arch/x86/include/arch-tests.h
@@ -12,13 +12,6 @@ int test__intel_pt_pkt_decoder(struct test *test, int subtest);
int test__bp_modify(struct test *test, int subtest);
int test__x86_sample_parsing(struct test *test, int subtest);

-#ifdef HAVE_DWARF_UNWIND_SUPPORT
-struct thread;
-struct perf_sample;
-int test__arch_unwind_sample(struct perf_sample *sample,
- struct thread *thread);
-#endif
-
extern struct test arch_tests[];

#endif
diff --git a/tools/perf/arch/x86/tests/dwarf-unwind.c b/tools/perf/arch/x86/tests/dwarf-unwind.c
index 478078fb0f22..a54dea7c112f 100644
--- a/tools/perf/arch/x86/tests/dwarf-unwind.c
+++ b/tools/perf/arch/x86/tests/dwarf-unwind.c
@@ -7,7 +7,6 @@
#include "event.h"
#include "debug.h"
#include "tests/tests.h"
-#include "arch-tests.h"

#define STACK_SIZE 8192

diff --git a/tools/perf/tests/dwarf-unwind.c b/tools/perf/tests/dwarf-unwind.c
index 83638097c3bc..a288035eb362 100644
--- a/tools/perf/tests/dwarf-unwind.c
+++ b/tools/perf/tests/dwarf-unwind.c
@@ -17,10 +17,6 @@
#include "callchain.h"
#include "util/synthetic-events.h"

-#if defined (__x86_64__) || defined (__i386__) || defined (__powerpc__)
-#include "arch-tests.h"
-#endif
-
/* For bsearch. We try to unwind functions in shared object. */
#include <stdlib.h>

diff --git a/tools/perf/tests/tests.h b/tools/perf/tests/tests.h
index b85f005308a3..1100dd55b657 100644
--- a/tools/perf/tests/tests.h
+++ b/tools/perf/tests/tests.h
@@ -133,14 +133,12 @@ bool test__bp_account_is_supported(void);
bool test__wp_is_supported(void);
bool test__tsc_is_supported(void);

-#if defined(__arm__) || defined(__aarch64__)
#ifdef HAVE_DWARF_UNWIND_SUPPORT
struct thread;
struct perf_sample;
int test__arch_unwind_sample(struct perf_sample *sample,
struct thread *thread);
#endif
-#endif

#if defined(__arm__)
int test__vectors_page(struct test *test, int subtest);
--
2.27.0



2021-05-14 05:23:16

by Rob Herring (Arm)

[permalink] [raw]
Subject: [PATCH 2/2] perf tests: Drop __maybe_unused on x86 test declarations

Function declarations don't need __maybe_unused annotations, only the
implementations do. Drop them on the perf x86 tests.

Cc: Peter Zijlstra <[email protected]>
Cc: Ingo Molnar <[email protected]>
Cc: Arnaldo Carvalho de Melo <[email protected]>
Cc: Mark Rutland <[email protected]>
Cc: Alexander Shishkin <[email protected]>
Cc: Jiri Olsa <[email protected]>
Cc: Namhyung Kim <[email protected]>
Cc: [email protected]
Signed-off-by: Rob Herring <[email protected]>
---
tools/perf/arch/x86/include/arch-tests.h | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/tools/perf/arch/x86/include/arch-tests.h b/tools/perf/arch/x86/include/arch-tests.h
index 462546bfc5f7..9599e7a3f1af 100644
--- a/tools/perf/arch/x86/include/arch-tests.h
+++ b/tools/perf/arch/x86/include/arch-tests.h
@@ -2,12 +2,11 @@
#ifndef ARCH_TESTS_H
#define ARCH_TESTS_H

-#include <linux/compiler.h>
struct test;

/* Tests */
-int test__rdpmc(struct test *test __maybe_unused, int subtest);
-int test__insn_x86(struct test *test __maybe_unused, int subtest);
+int test__rdpmc(struct test *test, int subtest);
+int test__insn_x86(struct test *test, int subtest);
int test__intel_pt_pkt_decoder(struct test *test, int subtest);
int test__bp_modify(struct test *test, int subtest);
int test__x86_sample_parsing(struct test *test, int subtest);
--
2.27.0


2021-05-14 15:28:39

by Jiri Olsa

[permalink] [raw]
Subject: Re: [PATCH 2/2] perf tests: Drop __maybe_unused on x86 test declarations

On Thu, May 13, 2021 at 12:46:14PM -0500, Rob Herring wrote:
> Function declarations don't need __maybe_unused annotations, only the
> implementations do. Drop them on the perf x86 tests.

for both patches:

Acked-by: Jiri Olsa <[email protected]>

thanks,
jirka

>
> Cc: Peter Zijlstra <[email protected]>
> Cc: Ingo Molnar <[email protected]>
> Cc: Arnaldo Carvalho de Melo <[email protected]>
> Cc: Mark Rutland <[email protected]>
> Cc: Alexander Shishkin <[email protected]>
> Cc: Jiri Olsa <[email protected]>
> Cc: Namhyung Kim <[email protected]>
> Cc: [email protected]
> Signed-off-by: Rob Herring <[email protected]>
> ---
> tools/perf/arch/x86/include/arch-tests.h | 5 ++---
> 1 file changed, 2 insertions(+), 3 deletions(-)
>
> diff --git a/tools/perf/arch/x86/include/arch-tests.h b/tools/perf/arch/x86/include/arch-tests.h
> index 462546bfc5f7..9599e7a3f1af 100644
> --- a/tools/perf/arch/x86/include/arch-tests.h
> +++ b/tools/perf/arch/x86/include/arch-tests.h
> @@ -2,12 +2,11 @@
> #ifndef ARCH_TESTS_H
> #define ARCH_TESTS_H
>
> -#include <linux/compiler.h>
> struct test;
>
> /* Tests */
> -int test__rdpmc(struct test *test __maybe_unused, int subtest);
> -int test__insn_x86(struct test *test __maybe_unused, int subtest);
> +int test__rdpmc(struct test *test, int subtest);
> +int test__insn_x86(struct test *test, int subtest);
> int test__intel_pt_pkt_decoder(struct test *test, int subtest);
> int test__bp_modify(struct test *test, int subtest);
> int test__x86_sample_parsing(struct test *test, int subtest);
> --
> 2.27.0
>


2021-05-21 20:29:25

by Arnaldo Carvalho de Melo

[permalink] [raw]
Subject: Re: [PATCH 2/2] perf tests: Drop __maybe_unused on x86 test declarations

Em Fri, May 14, 2021 at 11:03:01AM +0200, Jiri Olsa escreveu:
> On Thu, May 13, 2021 at 12:46:14PM -0500, Rob Herring wrote:
> > Function declarations don't need __maybe_unused annotations, only the
> > implementations do. Drop them on the perf x86 tests.
>
> for both patches:
>
> Acked-by: Jiri Olsa <[email protected]>

Thanks, applied.

- Arnaldo