lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<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

Powered by Openwall GNU/*/Linux Powered by OpenVZ