[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20190725103933.GF9306@kernel.org>
Date: Thu, 25 Jul 2019 07:39:33 -0300
From: Arnaldo Carvalho de Melo <arnaldo.melo@...il.com>
To: Jiri Olsa <jolsa@...nel.org>
Cc: lkml <linux-kernel@...r.kernel.org>,
Ingo Molnar <mingo@...nel.org>,
Namhyung Kim <namhyung@...nel.org>,
Alexander Shishkin <alexander.shishkin@...ux.intel.com>,
Peter Zijlstra <a.p.zijlstra@...llo.nl>,
Andi Kleen <ak@...ux.intel.com>,
Alexey Budankov <alexey.budankov@...ux.intel.com>,
Michael Petlan <mpetlan@...hat.com>
Subject: Re: [PATCH 73/79] libperf: Add perf_cpu_map test
Em Sun, Jul 21, 2019 at 01:25:00PM +0200, Jiri Olsa escreveu:
> Add simple perf_cpu_map tests.
Its not honouring O= and requires that we first build libperf in the
source tree, please fix this in a followup patch:
[acme@...co perf]$ make -C tools/perf/lib clean
make: Entering directory '/home/acme/git/perf/tools/perf/lib'
CLEAN libperf
CLEAN tests
make: Leaving directory '/home/acme/git/perf/tools/perf/lib'
[acme@...co perf]$ ls -la tools/perf/lib/tests/
total 16
drwxrwxr-x. 2 acme acme 4096 Jul 25 07:35 .
drwxrwxr-x. 4 acme acme 4096 Jul 25 07:35 ..
-rw-rw-r--. 1 acme acme 857 Jul 25 07:34 Makefile
-rw-rw-r--. 1 acme acme 328 Jul 25 07:34 test-cpumap.c
[acme@...co perf]$ make O=/tmp/build/perf -C tools/perf/lib/ tests
make: Entering directory '/home/acme/git/perf/tools/perf/lib'
LINK test-cpumap-a
gcc: error: ../libperf.a: No such file or directory
make[1]: *** [Makefile:22: test-cpumap-a] Error 1
make: *** [Makefile:115: tests] Error 2
make: Leaving directory '/home/acme/git/perf/tools/perf/lib'
[acme@...co perf]$
libperf itself is honouring O=:
[acme@...co perf]$ make O=/tmp/build/perf -C tools/perf/lib
make: Entering directory '/home/acme/git/perf/tools/perf/lib'
LINK /tmp/build/perf/libperf.so.0.0.1
GEN /tmp/build/perf/libperf.pc
make: Leaving directory '/home/acme/git/perf/tools/perf/lib'
[acme@...co perf]$ make O=/tmp/build/perf -C tools/perf/lib tests
make: Entering directory '/home/acme/git/perf/tools/perf/lib'
LINK test-cpumap-a
gcc: error: ../libperf.a: No such file or directory
make[1]: *** [Makefile:22: test-cpumap-a] Error 1
make: *** [Makefile:115: tests] Error 2
make: Leaving directory '/home/acme/git/perf/tools/perf/lib'
[acme@...co perf]$
Its only when I stop using O= that it works:
[acme@...co perf]$ make -C tools/perf/lib
make: Entering directory '/home/acme/git/perf/tools/perf/lib'
HOSTCC fixdep.o
HOSTLD fixdep-in.o
LINK fixdep
CC core.o
CC cpumap.o
CC threadmap.o
CC evsel.o
CC evlist.o
CC zalloc.o
CC xyarray.o
CC lib.o
LD libperf-in.o
AR libperf.a
LINK libperf.so.0.0.1
GEN libperf.pc
make: Leaving directory '/home/acme/git/perf/tools/perf/lib'
[acme@...co perf]$ make O=/tmp/build/perf -C tools/perf/lib tests
make: Entering directory '/home/acme/git/perf/tools/perf/lib'
LINK test-cpumap-a
LINK test-cpumap-so
running static:
- running test-cpumap.c...OK
running dynamic:
- running test-cpumap.c...OK
make: Leaving directory '/home/acme/git/perf/tools/perf/lib'
[acme@...co perf]$
It is already useful albeit this limitation, so I'm applying.
- Arnaldo
> Link: http://lkml.kernel.org/n/tip-143x51wped4tlsb06sapbfp0@git.kernel.org
> Signed-off-by: Jiri Olsa <jolsa@...nel.org>
> ---
> tools/perf/lib/tests/Makefile | 2 +-
> tools/perf/lib/tests/test-cpumap.c | 21 +++++++++++++++++++++
> 2 files changed, 22 insertions(+), 1 deletion(-)
> create mode 100644 tools/perf/lib/tests/test-cpumap.c
>
> diff --git a/tools/perf/lib/tests/Makefile b/tools/perf/lib/tests/Makefile
> index de951ae38dea..b72c8c47df61 100644
> --- a/tools/perf/lib/tests/Makefile
> +++ b/tools/perf/lib/tests/Makefile
> @@ -1,6 +1,6 @@
> # SPDX-License-Identifier: (LGPL-2.1 OR BSD-2-Clause)
>
> -TESTS =
> +TESTS = test-cpumap
>
> TESTS_SO := $(addsuffix -so,$(TESTS))
> TESTS_A := $(addsuffix -a,$(TESTS))
> diff --git a/tools/perf/lib/tests/test-cpumap.c b/tools/perf/lib/tests/test-cpumap.c
> new file mode 100644
> index 000000000000..76a43cfb83a1
> --- /dev/null
> +++ b/tools/perf/lib/tests/test-cpumap.c
> @@ -0,0 +1,21 @@
> +// SPDX-License-Identifier: GPL-2.0
> +#include <perf/cpumap.h>
> +#include <internal/tests.h>
> +
> +int main(int argc, char **argv)
> +{
> + struct perf_cpu_map *cpus;
> +
> + __T_START;
> +
> + cpus = perf_cpu_map__dummy_new();
> + if (!cpus)
> + return -1;
> +
> + perf_cpu_map__get(cpus);
> + perf_cpu_map__put(cpus);
> + perf_cpu_map__put(cpus);
> +
> + __T_OK;
> + return 0;
> +}
> --
> 2.21.0
--
- Arnaldo
Powered by blists - more mailing lists