From: "Toke Høiland-Jørgensen" <toke@redhat•com>
To: Andrii Nakryiko <andrii.nakryiko@gmail•com>
Cc: Alexei Starovoitov <ast@kernel•org>,
Daniel Borkmann <daniel@iogearbox•net>,
Martin KaFai Lau <kafai@fb•com>, Song Liu <songliubraving@fb•com>,
Yonghong Song <yhs@fb•com>, Andrii Nakryiko <andriin@fb•com>,
Doug Ledford <dledford@redhat•com>,
Jason Gunthorpe <jgg@ziepe•ca>,
"David S. Miller" <davem@davemloft•net>,
Jakub Kicinski <jakub.kicinski@netronome•com>,
Jesper Dangaard Brouer <brouer@redhat•com>,
John Fastabend <john.fastabend@gmail•com>,
Peter Zijlstra <peterz@infradead•org>,
Ingo Molnar <mingo@redhat•com>,
Arnaldo Carvalho de Melo <acme@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>,
Shuah Khan <shuah@kernel•org>,
Networking <netdev@vger•kernel.org>, bpf <bpf@vger•kernel.org>,
open list <linux-kernel@vger•kernel.org>,
linux-rdma@vger•kernel.org,
"open list\:KERNEL SELFTEST FRAMEWORK"
<linux-kselftest@vger•kernel.org>,
clang-built-linux@googlegroups•com
Subject: Re: [PATCH bpf-next v2 02/10] tools/bpf/runqslower: Fix override option for VMLINUX_BTF
Date: Wed, 15 Jan 2020 23:06:52 +0100 [thread overview]
Message-ID: <87v9pctlvn.fsf@toke.dk> (raw)
In-Reply-To: <CAEf4BzbqY8zivZy637Xy=iTECzBAYQ7vo=M7TvsLM2Yp12bJpg@mail.gmail.com>
Andrii Nakryiko <andrii.nakryiko@gmail•com> writes:
> On Wed, Jan 15, 2020 at 6:13 AM Toke Høiland-Jørgensen <toke@redhat•com> wrote:
>>
>> From: Toke Høiland-Jørgensen <toke@redhat•com>
>>
>> The runqslower tool refuses to build without a file to read vmlinux BTF
>> from. The build fails with an error message to override the location by
>> setting the VMLINUX_BTF variable if autodetection fails. However, the
>> Makefile doesn't actually work with that override - the error message is
>> still emitted.
>
> Do you have example command with VMLINUX_BTF override that didn't work
> (and what error message was emitted)?
Before this patch:
$ cd ~/build/linux/tools/bpf/runqslower
$ make
Makefile:18: *** "Can't detect kernel BTF, use VMLINUX_BTF to specify it explicitly". Stop.
$ make VMLINUX_BTF=~/build/linux/vmlinux
Makefile:18: *** "Can't detect kernel BTF, use VMLINUX_BTF to specify it explicitly". Stop.
>> Fix this by only doing auto-detection if no override is set. And while
>> we're at it, also look for a vmlinux file in the current kernel build dir
>> if none if found on the running kernel.
>>
>> Fixes: 9c01546d26d2 ("tools/bpf: Add runqslower tool to tools/bpf")
>> Signed-off-by: Toke Høiland-Jørgensen <toke@redhat•com>
>> ---
>> tools/bpf/runqslower/Makefile | 16 ++++++++++------
>> 1 file changed, 10 insertions(+), 6 deletions(-)
>>
>> diff --git a/tools/bpf/runqslower/Makefile b/tools/bpf/runqslower/Makefile
>> index cff2fbcd29a8..fb93ce2bf2fe 100644
>> --- a/tools/bpf/runqslower/Makefile
>> +++ b/tools/bpf/runqslower/Makefile
>> @@ -10,12 +10,16 @@ CFLAGS := -g -Wall
>>
>> # Try to detect best kernel BTF source
>> KERNEL_REL := $(shell uname -r)
>> -ifneq ("$(wildcard /sys/kernel/btf/vmlinux)","")
>> -VMLINUX_BTF := /sys/kernel/btf/vmlinux
>> -else ifneq ("$(wildcard /boot/vmlinux-$(KERNEL_REL))","")
>> -VMLINUX_BTF := /boot/vmlinux-$(KERNEL_REL)
>> -else
>> -$(error "Can't detect kernel BTF, use VMLINUX_BTF to specify it explicitly")
>> +ifeq ("$(VMLINUX_BTF)","")
>> + ifneq ("$(wildcard /sys/kernel/btf/vmlinux)","")
>> + VMLINUX_BTF := /sys/kernel/btf/vmlinux
>> + else ifneq ("$(wildcard /boot/vmlinux-$(KERNEL_REL))","")
>> + VMLINUX_BTF := /boot/vmlinux-$(KERNEL_REL)
>> + else ifneq ("$(wildcard $(abspath ../../../vmlinux))","")
>> + VMLINUX_BTF := $(abspath ../../../vmlinux)
>
> I'm planning to mirror runqslower into libbpf Github repo and this
> ../../../vmlinux piece will be completely out of place in that
> context. Also it only will help when building kernel in-tree. So I'd
> rather not add this.
Well building the kernel in-tree is something people sometimes want to do ;)
Specifically, the selftests depend on this, so we should at least fix
those; but I guess it could work to just pass in VMLINUX_BTF as part of
the make -C from the selftests dir? I'll try that...
-Toke
next prev parent reply other threads:[~2020-01-15 22:07 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-01-15 14:12 [PATCH bpf-next v2 00/10] tools: Use consistent libbpf include paths everywhere Toke Høiland-Jørgensen
2020-01-15 14:12 ` [PATCH bpf-next v2 01/10] samples/bpf: Don't try to remove user's homedir on clean Toke Høiland-Jørgensen
2020-01-15 15:21 ` Jesper Dangaard Brouer
2020-01-15 14:12 ` [PATCH bpf-next v2 02/10] tools/bpf/runqslower: Fix override option for VMLINUX_BTF Toke Høiland-Jørgensen
2020-01-15 16:59 ` Andrii Nakryiko
2020-01-15 22:06 ` Toke Høiland-Jørgensen [this message]
2020-01-15 22:31 ` Andrii Nakryiko
2020-01-16 9:05 ` Toke Høiland-Jørgensen
2020-01-16 17:14 ` Andrii Nakryiko
2020-01-15 14:12 ` [PATCH bpf-next v2 03/10] tools/runqslower: Use consistent include paths for libbpf Toke Høiland-Jørgensen
2020-01-15 14:12 ` [PATCH bpf-next v2 04/10] selftests: " Toke Høiland-Jørgensen
2020-01-15 14:12 ` [PATCH bpf-next v2 05/10] bpftool: " Toke Høiland-Jørgensen
2020-01-15 17:44 ` Andrii Nakryiko
2020-01-15 14:12 ` [PATCH bpf-next v2 06/10] perf: " Toke Høiland-Jørgensen
2020-01-15 14:12 ` [PATCH bpf-next v2 07/10] samples/bpf: " Toke Høiland-Jørgensen
2020-01-15 15:18 ` Jesper Dangaard Brouer
2020-01-15 15:41 ` Toke Høiland-Jørgensen
2020-01-15 14:12 ` [PATCH bpf-next v2 08/10] libbpf: Fix include of bpf_helpers.h when libbpf is installed on system Toke Høiland-Jørgensen
2020-01-15 14:12 ` [PATCH bpf-next v2 09/10] selftests: Remove tools/lib/bpf from include path Toke Høiland-Jørgensen
2020-01-15 17:22 ` Andrii Nakryiko
2020-01-15 14:12 ` [PATCH bpf-next v2 10/10] tools/runqslower: " Toke Høiland-Jørgensen
2020-01-15 18:06 ` [PATCH bpf-next v2 00/10] tools: Use consistent libbpf include paths everywhere Andrii Nakryiko
2020-01-15 22:10 ` Toke Høiland-Jørgensen
2020-01-15 21:19 ` Alexei Starovoitov
2020-01-15 22:09 ` Toke Høiland-Jørgensen
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=87v9pctlvn.fsf@toke.dk \
--to=toke@redhat$(echo .)com \
--cc=acme@kernel$(echo .)org \
--cc=alexander.shishkin@linux$(echo .)intel.com \
--cc=andrii.nakryiko@gmail$(echo .)com \
--cc=andriin@fb$(echo .)com \
--cc=ast@kernel$(echo .)org \
--cc=bpf@vger$(echo .)kernel.org \
--cc=brouer@redhat$(echo .)com \
--cc=clang-built-linux@googlegroups$(echo .)com \
--cc=daniel@iogearbox$(echo .)net \
--cc=davem@davemloft$(echo .)net \
--cc=dledford@redhat$(echo .)com \
--cc=jakub.kicinski@netronome$(echo .)com \
--cc=jgg@ziepe$(echo .)ca \
--cc=john.fastabend@gmail$(echo .)com \
--cc=jolsa@redhat$(echo .)com \
--cc=kafai@fb$(echo .)com \
--cc=linux-kernel@vger$(echo .)kernel.org \
--cc=linux-kselftest@vger$(echo .)kernel.org \
--cc=linux-rdma@vger$(echo .)kernel.org \
--cc=mark.rutland@arm$(echo .)com \
--cc=mingo@redhat$(echo .)com \
--cc=namhyung@kernel$(echo .)org \
--cc=netdev@vger$(echo .)kernel.org \
--cc=peterz@infradead$(echo .)org \
--cc=shuah@kernel$(echo .)org \
--cc=songliubraving@fb$(echo .)com \
--cc=yhs@fb$(echo .)com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox