From: Toke Høiland-Jørgensen <[email protected]>
Fix the runqslower tool to include libbpf header files with the bpf/
prefix, to be consistent with external users of the library. Also ensure
that all includes of exported libbpf header files (those that are exported
on 'make install' of the library) use bracketed includes instead of quoted.
To not break the build, keep the old include path until everything has been
changed to the new one; a subsequent patch will remove that.
Fixes: 6910d7d3867a ("selftests/bpf: Ensure bpf_helper_defs.h are taken from selftests dir")
Acked-by: Andrii Nakryiko <[email protected]>
Signed-off-by: Toke Høiland-Jørgensen <[email protected]>
---
tools/bpf/runqslower/Makefile | 5 +++--
tools/bpf/runqslower/runqslower.bpf.c | 2 +-
tools/bpf/runqslower/runqslower.c | 4 ++--
3 files changed, 6 insertions(+), 5 deletions(-)
diff --git a/tools/bpf/runqslower/Makefile b/tools/bpf/runqslower/Makefile
index b62fc9646c39..9f022f7f2593 100644
--- a/tools/bpf/runqslower/Makefile
+++ b/tools/bpf/runqslower/Makefile
@@ -5,6 +5,7 @@ LLC := llc
LLVM_STRIP := llvm-strip
DEFAULT_BPFTOOL := $(OUTPUT)/sbin/bpftool
BPFTOOL ?= $(DEFAULT_BPFTOOL)
+INCLUDES := -I$(OUTPUT) -I$(abspath ../../lib) -I$(abspath ../../lib/bpf)
LIBBPF_SRC := $(abspath ../../lib/bpf)
CFLAGS := -g -Wall
@@ -51,13 +52,13 @@ $(OUTPUT)/%.skel.h: $(OUTPUT)/%.bpf.o | $(BPFTOOL)
$(OUTPUT)/%.bpf.o: %.bpf.c $(OUTPUT)/libbpf.a | $(OUTPUT)
$(call msg,BPF,$@)
- $(Q)$(CLANG) -g -O2 -target bpf -I$(OUTPUT) -I$(LIBBPF_SRC) \
+ $(Q)$(CLANG) -g -O2 -target bpf $(INCLUDES) \
-c $(filter %.c,$^) -o $@ && \
$(LLVM_STRIP) -g $@
$(OUTPUT)/%.o: %.c | $(OUTPUT)
$(call msg,CC,$@)
- $(Q)$(CC) $(CFLAGS) -I$(LIBBPF_SRC) -I$(OUTPUT) -c $(filter %.c,$^) -o $@
+ $(Q)$(CC) $(CFLAGS) $(INCLUDES) -c $(filter %.c,$^) -o $@
$(OUTPUT):
$(call msg,MKDIR,$@)
diff --git a/tools/bpf/runqslower/runqslower.bpf.c b/tools/bpf/runqslower/runqslower.bpf.c
index 623cce4d37f5..48a39f72fadf 100644
--- a/tools/bpf/runqslower/runqslower.bpf.c
+++ b/tools/bpf/runqslower/runqslower.bpf.c
@@ -1,7 +1,7 @@
// SPDX-License-Identifier: GPL-2.0
// Copyright (c) 2019 Facebook
#include "vmlinux.h"
-#include <bpf_helpers.h>
+#include <bpf/bpf_helpers.h>
#include "runqslower.h"
#define TASK_RUNNING 0
diff --git a/tools/bpf/runqslower/runqslower.c b/tools/bpf/runqslower/runqslower.c
index 996f0e2c560e..d89715844952 100644
--- a/tools/bpf/runqslower/runqslower.c
+++ b/tools/bpf/runqslower/runqslower.c
@@ -6,8 +6,8 @@
#include <string.h>
#include <sys/resource.h>
#include <time.h>
-#include <libbpf.h>
-#include <bpf.h>
+#include <bpf/libbpf.h>
+#include <bpf/bpf.h>
#include "runqslower.h"
#include "runqslower.skel.h"
On Fri, Jan 17, 2020 at 5:37 AM Toke Høiland-Jørgensen <[email protected]> wrote:
>
> From: Toke Høiland-Jørgensen <[email protected]>
>
> Fix the runqslower tool to include libbpf header files with the bpf/
> prefix, to be consistent with external users of the library. Also ensure
> that all includes of exported libbpf header files (those that are exported
> on 'make install' of the library) use bracketed includes instead of quoted.
>
> To not break the build, keep the old include path until everything has been
> changed to the new one; a subsequent patch will remove that.
>
> Fixes: 6910d7d3867a ("selftests/bpf: Ensure bpf_helper_defs.h are taken from selftests dir")
> Acked-by: Andrii Nakryiko <[email protected]>
> Signed-off-by: Toke Høiland-Jørgensen <[email protected]>
> ---
> tools/bpf/runqslower/Makefile | 5 +++--
> tools/bpf/runqslower/runqslower.bpf.c | 2 +-
> tools/bpf/runqslower/runqslower.c | 4 ++--
> 3 files changed, 6 insertions(+), 5 deletions(-)
>
> diff --git a/tools/bpf/runqslower/Makefile b/tools/bpf/runqslower/Makefile
> index b62fc9646c39..9f022f7f2593 100644
> --- a/tools/bpf/runqslower/Makefile
> +++ b/tools/bpf/runqslower/Makefile
> @@ -5,6 +5,7 @@ LLC := llc
> LLVM_STRIP := llvm-strip
> DEFAULT_BPFTOOL := $(OUTPUT)/sbin/bpftool
> BPFTOOL ?= $(DEFAULT_BPFTOOL)
> +INCLUDES := -I$(OUTPUT) -I$(abspath ../../lib) -I$(abspath ../../lib/bpf)
> LIBBPF_SRC := $(abspath ../../lib/bpf)
drop LIBBPF_SRC, it's not used anymore
> CFLAGS := -g -Wall
>
> @@ -51,13 +52,13 @@ $(OUTPUT)/%.skel.h: $(OUTPUT)/%.bpf.o | $(BPFTOOL)
>
> $(OUTPUT)/%.bpf.o: %.bpf.c $(OUTPUT)/libbpf.a | $(OUTPUT)
> $(call msg,BPF,$@)
> - $(Q)$(CLANG) -g -O2 -target bpf -I$(OUTPUT) -I$(LIBBPF_SRC) \
> + $(Q)$(CLANG) -g -O2 -target bpf $(INCLUDES) \
please preserve formatting and alignment conventions of a file
> -c $(filter %.c,$^) -o $@ && \
> $(LLVM_STRIP) -g $@
>
> $(OUTPUT)/%.o: %.c | $(OUTPUT)
> $(call msg,CC,$@)
> - $(Q)$(CC) $(CFLAGS) -I$(LIBBPF_SRC) -I$(OUTPUT) -c $(filter %.c,$^) -o $@
> + $(Q)$(CC) $(CFLAGS) $(INCLUDES) -c $(filter %.c,$^) -o $@
>
> $(OUTPUT):
[...]
Andrii Nakryiko <[email protected]> writes:
> On Fri, Jan 17, 2020 at 5:37 AM Toke Høiland-Jørgensen <[email protected]> wrote:
>>
>> From: Toke Høiland-Jørgensen <[email protected]>
>>
>> Fix the runqslower tool to include libbpf header files with the bpf/
>> prefix, to be consistent with external users of the library. Also ensure
>> that all includes of exported libbpf header files (those that are exported
>> on 'make install' of the library) use bracketed includes instead of quoted.
>>
>> To not break the build, keep the old include path until everything has been
>> changed to the new one; a subsequent patch will remove that.
>>
>> Fixes: 6910d7d3867a ("selftests/bpf: Ensure bpf_helper_defs.h are taken from selftests dir")
>> Acked-by: Andrii Nakryiko <[email protected]>
>> Signed-off-by: Toke Høiland-Jørgensen <[email protected]>
>> ---
>> tools/bpf/runqslower/Makefile | 5 +++--
>> tools/bpf/runqslower/runqslower.bpf.c | 2 +-
>> tools/bpf/runqslower/runqslower.c | 4 ++--
>> 3 files changed, 6 insertions(+), 5 deletions(-)
>>
>> diff --git a/tools/bpf/runqslower/Makefile b/tools/bpf/runqslower/Makefile
>> index b62fc9646c39..9f022f7f2593 100644
>> --- a/tools/bpf/runqslower/Makefile
>> +++ b/tools/bpf/runqslower/Makefile
>> @@ -5,6 +5,7 @@ LLC := llc
>> LLVM_STRIP := llvm-strip
>> DEFAULT_BPFTOOL := $(OUTPUT)/sbin/bpftool
>> BPFTOOL ?= $(DEFAULT_BPFTOOL)
>> +INCLUDES := -I$(OUTPUT) -I$(abspath ../../lib) -I$(abspath ../../lib/bpf)
>> LIBBPF_SRC := $(abspath ../../lib/bpf)
>
> drop LIBBPF_SRC, it's not used anymore
It is: in the rule for building libbpf there's a '-C $(LIBBPF_SRC)'
-Toke
On Mon, Jan 20, 2020 at 4:57 AM Toke Høiland-Jørgensen <[email protected]> wrote:
>
> Andrii Nakryiko <[email protected]> writes:
>
> > On Fri, Jan 17, 2020 at 5:37 AM Toke Høiland-Jørgensen <[email protected]> wrote:
> >>
> >> From: Toke Høiland-Jørgensen <[email protected]>
> >>
> >> Fix the runqslower tool to include libbpf header files with the bpf/
> >> prefix, to be consistent with external users of the library. Also ensure
> >> that all includes of exported libbpf header files (those that are exported
> >> on 'make install' of the library) use bracketed includes instead of quoted.
> >>
> >> To not break the build, keep the old include path until everything has been
> >> changed to the new one; a subsequent patch will remove that.
> >>
> >> Fixes: 6910d7d3867a ("selftests/bpf: Ensure bpf_helper_defs.h are taken from selftests dir")
> >> Acked-by: Andrii Nakryiko <[email protected]>
> >> Signed-off-by: Toke Høiland-Jørgensen <[email protected]>
> >> ---
> >> tools/bpf/runqslower/Makefile | 5 +++--
> >> tools/bpf/runqslower/runqslower.bpf.c | 2 +-
> >> tools/bpf/runqslower/runqslower.c | 4 ++--
> >> 3 files changed, 6 insertions(+), 5 deletions(-)
> >>
> >> diff --git a/tools/bpf/runqslower/Makefile b/tools/bpf/runqslower/Makefile
> >> index b62fc9646c39..9f022f7f2593 100644
> >> --- a/tools/bpf/runqslower/Makefile
> >> +++ b/tools/bpf/runqslower/Makefile
> >> @@ -5,6 +5,7 @@ LLC := llc
> >> LLVM_STRIP := llvm-strip
> >> DEFAULT_BPFTOOL := $(OUTPUT)/sbin/bpftool
> >> BPFTOOL ?= $(DEFAULT_BPFTOOL)
> >> +INCLUDES := -I$(OUTPUT) -I$(abspath ../../lib) -I$(abspath ../../lib/bpf)
> >> LIBBPF_SRC := $(abspath ../../lib/bpf)
> >
> > drop LIBBPF_SRC, it's not used anymore
>
> It is: in the rule for building libbpf there's a '-C $(LIBBPF_SRC)'
>
Ah, right, missed that one. Looked a bit weird to have $(abspath
../../lib/bpf) used in INCLUDES and then separate LIBBPF_SRC
definition there, maybe
LIBBPF_SRC := $(abspath ../../lib/bpf)
INCLUDES := -I$(OUTPUT) -I$(abspath ../../lib) -I$(LIBBPF_SRC)
> -Toke
>
On Mon, Jan 20, 2020 at 10:35 AM Andrii Nakryiko
<[email protected]> wrote:
>
> On Mon, Jan 20, 2020 at 4:57 AM Toke Høiland-Jørgensen <[email protected]> wrote:
> >
> > Andrii Nakryiko <[email protected]> writes:
> >
> > > On Fri, Jan 17, 2020 at 5:37 AM Toke Høiland-Jørgensen <[email protected]> wrote:
> > >>
> > >> From: Toke Høiland-Jørgensen <[email protected]>
> > >>
> > >> Fix the runqslower tool to include libbpf header files with the bpf/
> > >> prefix, to be consistent with external users of the library. Also ensure
> > >> that all includes of exported libbpf header files (those that are exported
> > >> on 'make install' of the library) use bracketed includes instead of quoted.
> > >>
> > >> To not break the build, keep the old include path until everything has been
> > >> changed to the new one; a subsequent patch will remove that.
> > >>
> > >> Fixes: 6910d7d3867a ("selftests/bpf: Ensure bpf_helper_defs.h are taken from selftests dir")
> > >> Acked-by: Andrii Nakryiko <[email protected]>
> > >> Signed-off-by: Toke Høiland-Jørgensen <[email protected]>
> > >> ---
> > >> tools/bpf/runqslower/Makefile | 5 +++--
> > >> tools/bpf/runqslower/runqslower.bpf.c | 2 +-
> > >> tools/bpf/runqslower/runqslower.c | 4 ++--
> > >> 3 files changed, 6 insertions(+), 5 deletions(-)
> > >>
> > >> diff --git a/tools/bpf/runqslower/Makefile b/tools/bpf/runqslower/Makefile
> > >> index b62fc9646c39..9f022f7f2593 100644
> > >> --- a/tools/bpf/runqslower/Makefile
> > >> +++ b/tools/bpf/runqslower/Makefile
> > >> @@ -5,6 +5,7 @@ LLC := llc
> > >> LLVM_STRIP := llvm-strip
> > >> DEFAULT_BPFTOOL := $(OUTPUT)/sbin/bpftool
> > >> BPFTOOL ?= $(DEFAULT_BPFTOOL)
> > >> +INCLUDES := -I$(OUTPUT) -I$(abspath ../../lib) -I$(abspath ../../lib/bpf)
> > >> LIBBPF_SRC := $(abspath ../../lib/bpf)
> > >
> > > drop LIBBPF_SRC, it's not used anymore
> >
> > It is: in the rule for building libbpf there's a '-C $(LIBBPF_SRC)'
> >
>
> Ah, right, missed that one. Looked a bit weird to have $(abspath
> ../../lib/bpf) used in INCLUDES and then separate LIBBPF_SRC
> definition there, maybe
>
> LIBBPF_SRC := $(abspath ../../lib/bpf)
> INCLUDES := -I$(OUTPUT) -I$(abspath ../../lib) -I$(LIBBPF_SRC)
Never mind, you delete it in later patch anyway.
>
> > -Toke
> >