All of lore.kernel.org
 help / color / mirror / Atom feed
From: Arnaldo Carvalho de Melo <acme@kernel.org>
To: Leo Yan <leo.yan@linaro.org>
Cc: James Clark <james.clark@arm.com>,
	mathieu.poirier@linaro.org, coresight@lists.linaro.org,
	linux-perf-users@vger.kernel.org, mike.leach@linaro.org,
	suzuki.poulose@arm.com, John Garry <john.garry@huawei.com>,
	Will Deacon <will@kernel.org>,
	Mark Rutland <mark.rutland@arm.com>,
	Alexander Shishkin <alexander.shishkin@linux.intel.com>,
	Jiri Olsa <jolsa@redhat.com>, Namhyung Kim <namhyung@kernel.org>,
	linux-arm-kernel@lists.infradead.org,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH v2 9/9] perf cs-etm: Show a warning for an unknown magic number
Date: Wed, 1 Sep 2021 13:49:51 -0300	[thread overview]
Message-ID: <YS+vL2SYCCVLAXVp@kernel.org> (raw)
In-Reply-To: <YS+pgZMpFmnRlMuT@kernel.org>

Em Wed, Sep 01, 2021 at 01:25:37PM -0300, Arnaldo Carvalho de Melo escreveu:
> Em Wed, Sep 01, 2021 at 01:16:56PM -0300, Arnaldo Carvalho de Melo escreveu:
> > Em Wed, Sep 01, 2021 at 01:07:41PM -0300, Arnaldo Carvalho de Melo escreveu:
> > > Em Wed, Sep 01, 2021 at 12:54:34PM -0300, Arnaldo Carvalho de Melo escreveu:
> > > > Applies cleanly to my tree, test building it now, holler if there is
> > > > something that prevents it from being merged.

> > > I´m now trying to fix this up, I applied it using 'b4', so no patch
> > > should have gone missing...

> > So its probably related to:

> > ⬢[acme@toolbox perf]$ rpm -qa | grep opencsd
> > opencsd-1.0.0-1.fc34.x86_64
> > opencsd-devel-1.0.0-1.fc34.x86_64
> > ⬢[acme@toolbox perf]$

> > In which case the usual mechanism is to test if we have what is needed
> > via tools/build/feature/test-_____.c, lemme check...

> There is a test and it fails, of course:

> ⬢[acme@toolbox perf]$ cat /tmp/build/perf/feature/test-libopencsd.make.output
> test-libopencsd.c:9:2: error: #error "OpenCSD >= 1.1.1 is required"
>     9 | #error "OpenCSD >= 1.1.1 is required"
>       |  ^~~~~
> ⬢[acme@toolbox perf]$

> But the fact that I ask for CORESIGHT=1 should have the build fail then,
> i.e. if one explicitely asks for a feature and it can't be built, fail
> the whole build.

So after uninstalling the libopencsd that comes with fedora 34 and
cloning the upstream OpenCSD git repo, building it and installing in
/usr/local/ it seems to work as expected:

⬢[acme@toolbox perf]$ rm -rf /tmp/build/perf ; mkdir -p /tmp/build/perf ;
⬢[acme@toolbox perf]$ make O=/tmp/build/perf VF=1 CORESIGHT=1 O=/tmp/build/perf -C tools/perf install-bin |& grep -i opencsd
...                    libopencsd: [ on  ]
⬢[acme@toolbox perf]$ cat /tmp/build/perf/feature/test-libopencsd.make.output
⬢[acme@toolbox perf]$
⬢[acme@toolbox perf]$
⬢[acme@toolbox perf]$ ldd ~/bin/perf | grep opencsd
	libopencsd_c_api.so.1 => not found
⬢[acme@toolbox perf]$ export LD_LIBRARY_PATH=/usr/local/lib
⬢[acme@toolbox perf]$ ldd ~/bin/perf | grep opencsd
	libopencsd_c_api.so.1 => /usr/local/lib/libopencsd_c_api.so.1 (0x00007f839e8b2000)
	libopencsd.so.1 => /usr/local/lib/libopencsd.so.1 (0x00007f839da3c000)
⬢[acme@toolbox perf]$
⬢[acme@toolbox perf]$
⬢[acme@toolbox perf]$
⬢[acme@toolbox perf]$ ldd /tmp/build/perf/feature/test-libopencsd.bin
	linux-vdso.so.1 (0x00007ffd669b3000)
	libopencsd_c_api.so.1 => /usr/local/lib/libopencsd_c_api.so.1 (0x00007fe608b8c000)
	libopencsd.so.1 => /usr/local/lib/libopencsd.so.1 (0x00007fe608af5000)
	libc.so.6 => /lib64/libc.so.6 (0x00007fe60891e000)
	libstdc++.so.6 => /lib64/libstdc++.so.6 (0x00007fe6086ff000)
	libm.so.6 => /lib64/libm.so.6 (0x00007fe6085bb000)
	libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007fe6085a0000)
	/lib64/ld-linux-x86-64.so.2 (0x00007fe608ba2000)
⬢[acme@toolbox perf]$ ls -la /usr/local/lib/libopencsd*
-rw-r--r--. 1 root root 1641364 Sep  1 13:41 /usr/local/lib/libopencsd.a
-rw-r--r--. 1 root root  168022 Sep  1 13:41 /usr/local/lib/libopencsd_c_api.a
lrwxrwxrwx. 1 root root      21 Sep  1 13:41 /usr/local/lib/libopencsd_c_api.so -> libopencsd_c_api.so.1
lrwxrwxrwx. 1 root root      25 Sep  1 13:41 /usr/local/lib/libopencsd_c_api.so.1 -> libopencsd_c_api.so.1.1.1
-rw-r--r--. 1 root root  104968 Sep  1 13:41 /usr/local/lib/libopencsd_c_api.so.1.1.1
lrwxrwxrwx. 1 root root      15 Sep  1 13:41 /usr/local/lib/libopencsd.so -> libopencsd.so.1
lrwxrwxrwx. 1 root root      19 Sep  1 13:41 /usr/local/lib/libopencsd.so.1 -> libopencsd.so.1.1.1
-rw-r--r--. 1 root root  762432 Sep  1 13:41 /usr/local/lib/libopencsd.so.1.1.1
⬢[acme@toolbox perf]$

This doesn't explain that 'make -C tools/perf build-test' error, perhaps
it is reusing the feature dump (feature detection), done without
CORESIGHT=1, when building with CORESIGHT=1 :-\

Anyway, please consider making the build fail when CORESIGHT=1 is passed
explicitely and that tools/build/feature-libopencsd.c feature test fails
instead of silently building the tool _without_ the explicitely asked
for feature.

Thanks,

- Arnaldo

WARNING: multiple messages have this Message-ID (diff)
From: Arnaldo Carvalho de Melo <acme@kernel.org>
To: Leo Yan <leo.yan@linaro.org>
Cc: James Clark <james.clark@arm.com>,
	mathieu.poirier@linaro.org, coresight@lists.linaro.org,
	linux-perf-users@vger.kernel.org, mike.leach@linaro.org,
	suzuki.poulose@arm.com, John Garry <john.garry@huawei.com>,
	Will Deacon <will@kernel.org>,
	Mark Rutland <mark.rutland@arm.com>,
	Alexander Shishkin <alexander.shishkin@linux.intel.com>,
	Jiri Olsa <jolsa@redhat.com>, Namhyung Kim <namhyung@kernel.org>,
	linux-arm-kernel@lists.infradead.org,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH v2 9/9] perf cs-etm: Show a warning for an unknown magic number
Date: Wed, 1 Sep 2021 13:49:51 -0300	[thread overview]
Message-ID: <YS+vL2SYCCVLAXVp@kernel.org> (raw)
In-Reply-To: <YS+pgZMpFmnRlMuT@kernel.org>

Em Wed, Sep 01, 2021 at 01:25:37PM -0300, Arnaldo Carvalho de Melo escreveu:
> Em Wed, Sep 01, 2021 at 01:16:56PM -0300, Arnaldo Carvalho de Melo escreveu:
> > Em Wed, Sep 01, 2021 at 01:07:41PM -0300, Arnaldo Carvalho de Melo escreveu:
> > > Em Wed, Sep 01, 2021 at 12:54:34PM -0300, Arnaldo Carvalho de Melo escreveu:
> > > > Applies cleanly to my tree, test building it now, holler if there is
> > > > something that prevents it from being merged.

> > > I´m now trying to fix this up, I applied it using 'b4', so no patch
> > > should have gone missing...

> > So its probably related to:

> > ⬢[acme@toolbox perf]$ rpm -qa | grep opencsd
> > opencsd-1.0.0-1.fc34.x86_64
> > opencsd-devel-1.0.0-1.fc34.x86_64
> > ⬢[acme@toolbox perf]$

> > In which case the usual mechanism is to test if we have what is needed
> > via tools/build/feature/test-_____.c, lemme check...

> There is a test and it fails, of course:

> ⬢[acme@toolbox perf]$ cat /tmp/build/perf/feature/test-libopencsd.make.output
> test-libopencsd.c:9:2: error: #error "OpenCSD >= 1.1.1 is required"
>     9 | #error "OpenCSD >= 1.1.1 is required"
>       |  ^~~~~
> ⬢[acme@toolbox perf]$

> But the fact that I ask for CORESIGHT=1 should have the build fail then,
> i.e. if one explicitely asks for a feature and it can't be built, fail
> the whole build.

So after uninstalling the libopencsd that comes with fedora 34 and
cloning the upstream OpenCSD git repo, building it and installing in
/usr/local/ it seems to work as expected:

⬢[acme@toolbox perf]$ rm -rf /tmp/build/perf ; mkdir -p /tmp/build/perf ;
⬢[acme@toolbox perf]$ make O=/tmp/build/perf VF=1 CORESIGHT=1 O=/tmp/build/perf -C tools/perf install-bin |& grep -i opencsd
...                    libopencsd: [ on  ]
⬢[acme@toolbox perf]$ cat /tmp/build/perf/feature/test-libopencsd.make.output
⬢[acme@toolbox perf]$
⬢[acme@toolbox perf]$
⬢[acme@toolbox perf]$ ldd ~/bin/perf | grep opencsd
	libopencsd_c_api.so.1 => not found
⬢[acme@toolbox perf]$ export LD_LIBRARY_PATH=/usr/local/lib
⬢[acme@toolbox perf]$ ldd ~/bin/perf | grep opencsd
	libopencsd_c_api.so.1 => /usr/local/lib/libopencsd_c_api.so.1 (0x00007f839e8b2000)
	libopencsd.so.1 => /usr/local/lib/libopencsd.so.1 (0x00007f839da3c000)
⬢[acme@toolbox perf]$
⬢[acme@toolbox perf]$
⬢[acme@toolbox perf]$
⬢[acme@toolbox perf]$ ldd /tmp/build/perf/feature/test-libopencsd.bin
	linux-vdso.so.1 (0x00007ffd669b3000)
	libopencsd_c_api.so.1 => /usr/local/lib/libopencsd_c_api.so.1 (0x00007fe608b8c000)
	libopencsd.so.1 => /usr/local/lib/libopencsd.so.1 (0x00007fe608af5000)
	libc.so.6 => /lib64/libc.so.6 (0x00007fe60891e000)
	libstdc++.so.6 => /lib64/libstdc++.so.6 (0x00007fe6086ff000)
	libm.so.6 => /lib64/libm.so.6 (0x00007fe6085bb000)
	libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007fe6085a0000)
	/lib64/ld-linux-x86-64.so.2 (0x00007fe608ba2000)
⬢[acme@toolbox perf]$ ls -la /usr/local/lib/libopencsd*
-rw-r--r--. 1 root root 1641364 Sep  1 13:41 /usr/local/lib/libopencsd.a
-rw-r--r--. 1 root root  168022 Sep  1 13:41 /usr/local/lib/libopencsd_c_api.a
lrwxrwxrwx. 1 root root      21 Sep  1 13:41 /usr/local/lib/libopencsd_c_api.so -> libopencsd_c_api.so.1
lrwxrwxrwx. 1 root root      25 Sep  1 13:41 /usr/local/lib/libopencsd_c_api.so.1 -> libopencsd_c_api.so.1.1.1
-rw-r--r--. 1 root root  104968 Sep  1 13:41 /usr/local/lib/libopencsd_c_api.so.1.1.1
lrwxrwxrwx. 1 root root      15 Sep  1 13:41 /usr/local/lib/libopencsd.so -> libopencsd.so.1
lrwxrwxrwx. 1 root root      19 Sep  1 13:41 /usr/local/lib/libopencsd.so.1 -> libopencsd.so.1.1.1
-rw-r--r--. 1 root root  762432 Sep  1 13:41 /usr/local/lib/libopencsd.so.1.1.1
⬢[acme@toolbox perf]$

This doesn't explain that 'make -C tools/perf build-test' error, perhaps
it is reusing the feature dump (feature detection), done without
CORESIGHT=1, when building with CORESIGHT=1 :-\

Anyway, please consider making the build fail when CORESIGHT=1 is passed
explicitely and that tools/build/feature-libopencsd.c feature test fails
instead of silently building the tool _without_ the explicitely asked
for feature.

Thanks,

- Arnaldo

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

  reply	other threads:[~2021-09-01 16:49 UTC|newest]

Thread overview: 104+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-08-06 13:41 [PATCH v2 0/9] Support ETE decoding James Clark
2021-08-06 13:41 ` James Clark
2021-08-06 13:41 ` [PATCH v2 1/9] perf cs-etm: Refactor initialisation of decoder params James Clark
2021-08-06 13:41   ` James Clark
2021-09-03  8:52   ` Suzuki K Poulose
2021-09-03  8:52     ` Suzuki K Poulose
2021-09-03 11:05     ` Arnaldo Carvalho de Melo
2021-09-03 11:05       ` Arnaldo Carvalho de Melo
2021-09-05 21:24       ` Mike Leach
2021-09-05 21:24         ` Mike Leach
2021-08-06 13:41 ` [PATCH v2 2/9] perf cs-etm: Initialise architecture based on TRCIDR1 James Clark
2021-08-06 13:41   ` James Clark
2021-08-24  6:53   ` Leo Yan
2021-08-24  6:53     ` Leo Yan
2021-09-03  8:55   ` Suzuki K Poulose
2021-09-03  8:55     ` Suzuki K Poulose
2021-09-03 11:07     ` Arnaldo Carvalho de Melo
2021-09-03 11:07       ` Arnaldo Carvalho de Melo
2021-09-05 21:24       ` Mike Leach
2021-09-05 21:24         ` Mike Leach
2021-08-06 13:41 ` [PATCH v2 3/9] perf cs-etm: Refactor out ETMv4 header saving James Clark
2021-08-06 13:41   ` James Clark
2021-08-24  6:58   ` Leo Yan
2021-08-24  6:58     ` Leo Yan
2021-09-03  8:56   ` Suzuki K Poulose
2021-09-03  8:56     ` Suzuki K Poulose
2021-09-05 21:24     ` Mike Leach
2021-09-05 21:24       ` Mike Leach
2021-08-06 13:41 ` [PATCH v2 4/9] perf cs-etm: Save TRCDEVARCH register James Clark
2021-08-06 13:41   ` James Clark
2021-08-24  7:14   ` Leo Yan
2021-08-24  7:14     ` Leo Yan
2021-09-03  9:08   ` Suzuki K Poulose
2021-09-03  9:08     ` Suzuki K Poulose
2021-09-03 11:15     ` Arnaldo Carvalho de Melo
2021-09-03 11:15       ` Arnaldo Carvalho de Melo
2021-09-05 21:24       ` Mike Leach
2021-09-05 21:24         ` Mike Leach
2021-08-06 13:41 ` [PATCH v2 5/9] perf cs-etm: Fix typo James Clark
2021-08-06 13:41   ` James Clark
2021-08-24  7:15   ` Leo Yan
2021-08-24  7:15     ` Leo Yan
2021-09-03  9:09   ` Suzuki K Poulose
2021-09-03  9:09     ` Suzuki K Poulose
2021-09-05 21:24     ` Mike Leach
2021-09-05 21:24       ` Mike Leach
2021-08-06 13:41 ` [PATCH v2 6/9] perf cs-etm: Update OpenCSD decoder for ETE James Clark
2021-08-06 13:41   ` James Clark
2021-09-03  9:10   ` Suzuki K Poulose
2021-09-03  9:10     ` Suzuki K Poulose
2021-09-03 11:16     ` Arnaldo Carvalho de Melo
2021-09-03 11:16       ` Arnaldo Carvalho de Melo
2021-09-05 21:24       ` Mike Leach
2021-09-05 21:24         ` Mike Leach
2021-08-06 13:41 ` [PATCH v2 7/9] perf cs-etm: Create ETE decoder James Clark
2021-08-06 13:41   ` James Clark
2021-08-24  8:33   ` Leo Yan
2021-08-24  8:33     ` Leo Yan
2021-08-25 10:13     ` James Clark
2021-08-25 10:13       ` James Clark
2021-09-03  9:15   ` Suzuki K Poulose
2021-09-03  9:15     ` Suzuki K Poulose
2021-09-03 11:16     ` Arnaldo Carvalho de Melo
2021-09-03 11:16       ` Arnaldo Carvalho de Melo
2021-09-05 21:24       ` Mike Leach
2021-09-05 21:24         ` Mike Leach
2021-08-06 13:41 ` [PATCH v2 8/9] perf cs-etm: Print the decoder name James Clark
2021-08-06 13:41   ` James Clark
2021-09-03  9:17   ` Suzuki K Poulose
2021-09-03  9:17     ` Suzuki K Poulose
2021-09-03 11:18     ` Arnaldo Carvalho de Melo
2021-09-03 11:18       ` Arnaldo Carvalho de Melo
2021-09-03 11:52       ` Arnaldo Carvalho de Melo
2021-09-03 11:52         ` Arnaldo Carvalho de Melo
2021-09-05 21:24         ` Mike Leach
2021-09-05 21:24           ` Mike Leach
2021-08-06 13:41 ` [PATCH v2 9/9] perf cs-etm: Show a warning for an unknown magic number James Clark
2021-08-06 13:41   ` James Clark
2021-08-24  8:36   ` Leo Yan
2021-08-24  8:36     ` Leo Yan
2021-09-01 15:54     ` Arnaldo Carvalho de Melo
2021-09-01 15:54       ` Arnaldo Carvalho de Melo
2021-09-01 16:07       ` Arnaldo Carvalho de Melo
2021-09-01 16:07         ` Arnaldo Carvalho de Melo
2021-09-01 16:16         ` Arnaldo Carvalho de Melo
2021-09-01 16:16           ` Arnaldo Carvalho de Melo
2021-09-01 16:25           ` Arnaldo Carvalho de Melo
2021-09-01 16:25             ` Arnaldo Carvalho de Melo
2021-09-01 16:49             ` Arnaldo Carvalho de Melo [this message]
2021-09-01 16:49               ` Arnaldo Carvalho de Melo
2021-09-02  7:53               ` Leo Yan
2021-09-02  7:53                 ` Leo Yan
2021-09-02 17:48       ` Mathieu Poirier
2021-09-02 17:48         ` Mathieu Poirier
2021-09-02 18:19         ` Arnaldo Carvalho de Melo
2021-09-02 18:19           ` Arnaldo Carvalho de Melo
2021-09-02 19:22           ` Mathieu Poirier
2021-09-02 19:22             ` Mathieu Poirier
2021-09-05 21:24             ` Mike Leach
2021-09-05 21:24               ` Mike Leach
2021-08-24  8:47 ` [PATCH v2 0/9] Support ETE decoding Leo Yan
2021-08-24  8:47   ` Leo Yan
2021-08-25 10:14   ` James Clark
2021-08-25 10:14     ` James Clark

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=YS+vL2SYCCVLAXVp@kernel.org \
    --to=acme@kernel.org \
    --cc=alexander.shishkin@linux.intel.com \
    --cc=coresight@lists.linaro.org \
    --cc=james.clark@arm.com \
    --cc=john.garry@huawei.com \
    --cc=jolsa@redhat.com \
    --cc=leo.yan@linaro.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-perf-users@vger.kernel.org \
    --cc=mark.rutland@arm.com \
    --cc=mathieu.poirier@linaro.org \
    --cc=mike.leach@linaro.org \
    --cc=namhyung@kernel.org \
    --cc=suzuki.poulose@arm.com \
    --cc=will@kernel.org \
    /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.