Message ID | 20220712030813.865410-3-pulehui@huawei.com (mailing list archive) |
---|---|
State | Superseded |
Delegated to: | BPF |
Headers | show |
Series | Use lightweigt version of bpftool | expand |
On Mon, Jul 11, 2022 at 7:37 PM Pu Lehui <pulehui@huawei.com> wrote: > > tools/runqslower use bpftool for vmlinux.h, skeleton, and static linking > only. So we can use lightweight bootstrap version of bpftool to handle > these, and it will be faster. > > Signed-off-by: Pu Lehui <pulehui@huawei.com> > Suggested-by: Andrii Nakryiko <andrii@kernel.org> > --- > tools/bpf/runqslower/Makefile | 10 ++++++++-- > 1 file changed, 8 insertions(+), 2 deletions(-) > > diff --git a/tools/bpf/runqslower/Makefile b/tools/bpf/runqslower/Makefile > index da6de16a3dfb..8900c74f29e2 100644 > --- a/tools/bpf/runqslower/Makefile > +++ b/tools/bpf/runqslower/Makefile > @@ -4,7 +4,7 @@ include ../../scripts/Makefile.include > OUTPUT ?= $(abspath .output)/ > > BPFTOOL_OUTPUT := $(OUTPUT)bpftool/ > -DEFAULT_BPFTOOL := $(BPFTOOL_OUTPUT)bpftool > +DEFAULT_BPFTOOL := $(BPFTOOL_OUTPUT)bootstrap/bpftool > BPFTOOL ?= $(DEFAULT_BPFTOOL) > LIBBPF_SRC := $(abspath ../../lib/bpf) > BPFOBJ_OUTPUT := $(OUTPUT)libbpf/ > @@ -86,6 +86,12 @@ $(BPFOBJ): $(wildcard $(LIBBPF_SRC)/*.[ch] $(LIBBPF_SRC)/Makefile) | $(BPFOBJ_OU > $(Q)$(MAKE) $(submake_extras) -C $(LIBBPF_SRC) OUTPUT=$(BPFOBJ_OUTPUT) \ > DESTDIR=$(BPFOBJ_OUTPUT) prefix= $(abspath $@) install_headers > > +ifeq ($(CROSS_COMPILE),) > $(DEFAULT_BPFTOOL): $(BPFOBJ) | $(BPFTOOL_OUTPUT) > $(Q)$(MAKE) $(submake_extras) -C ../bpftool OUTPUT=$(BPFTOOL_OUTPUT) \ > - ARCH= CROSS_COMPILE= CC=$(HOSTCC) LD=$(HOSTLD) > + LIBBPF_BOOTSTRAP_OUTPUT=$(BPFOBJ_OUTPUT) \ > + LIBBPF_BOOTSTRAP_DESTDIR=$(BPF_DESTDIR) bootstrap > +else > +$(DEFAULT_BPFTOOL): | $(BPFTOOL_OUTPUT) > + $(Q)$(MAKE) $(submake_extras) -C ../bpftool OUTPUT=$(BPFTOOL_OUTPUT) bootstrap > +endif Same comment as on the other patch, this CROSS_COMPILE if/else seems a bit fragile, let's keep only the second cleaner part, maybe? > -- > 2.25.1 >
On 2022/7/14 2:52, Andrii Nakryiko wrote: > On Mon, Jul 11, 2022 at 7:37 PM Pu Lehui <pulehui@huawei.com> wrote: >> >> tools/runqslower use bpftool for vmlinux.h, skeleton, and static linking >> only. So we can use lightweight bootstrap version of bpftool to handle >> these, and it will be faster. >> >> Signed-off-by: Pu Lehui <pulehui@huawei.com> >> Suggested-by: Andrii Nakryiko <andrii@kernel.org> >> --- >> tools/bpf/runqslower/Makefile | 10 ++++++++-- >> 1 file changed, 8 insertions(+), 2 deletions(-) >> >> diff --git a/tools/bpf/runqslower/Makefile b/tools/bpf/runqslower/Makefile >> index da6de16a3dfb..8900c74f29e2 100644 >> --- a/tools/bpf/runqslower/Makefile >> +++ b/tools/bpf/runqslower/Makefile >> @@ -4,7 +4,7 @@ include ../../scripts/Makefile.include >> OUTPUT ?= $(abspath .output)/ >> >> BPFTOOL_OUTPUT := $(OUTPUT)bpftool/ >> -DEFAULT_BPFTOOL := $(BPFTOOL_OUTPUT)bpftool >> +DEFAULT_BPFTOOL := $(BPFTOOL_OUTPUT)bootstrap/bpftool >> BPFTOOL ?= $(DEFAULT_BPFTOOL) >> LIBBPF_SRC := $(abspath ../../lib/bpf) >> BPFOBJ_OUTPUT := $(OUTPUT)libbpf/ >> @@ -86,6 +86,12 @@ $(BPFOBJ): $(wildcard $(LIBBPF_SRC)/*.[ch] $(LIBBPF_SRC)/Makefile) | $(BPFOBJ_OU >> $(Q)$(MAKE) $(submake_extras) -C $(LIBBPF_SRC) OUTPUT=$(BPFOBJ_OUTPUT) \ >> DESTDIR=$(BPFOBJ_OUTPUT) prefix= $(abspath $@) install_headers >> >> +ifeq ($(CROSS_COMPILE),) >> $(DEFAULT_BPFTOOL): $(BPFOBJ) | $(BPFTOOL_OUTPUT) >> $(Q)$(MAKE) $(submake_extras) -C ../bpftool OUTPUT=$(BPFTOOL_OUTPUT) \ >> - ARCH= CROSS_COMPILE= CC=$(HOSTCC) LD=$(HOSTLD) >> + LIBBPF_BOOTSTRAP_OUTPUT=$(BPFOBJ_OUTPUT) \ >> + LIBBPF_BOOTSTRAP_DESTDIR=$(BPF_DESTDIR) bootstrap >> +else >> +$(DEFAULT_BPFTOOL): | $(BPFTOOL_OUTPUT) >> + $(Q)$(MAKE) $(submake_extras) -C ../bpftool OUTPUT=$(BPFTOOL_OUTPUT) bootstrap >> +endif > > Same comment as on the other patch, this CROSS_COMPILE if/else seems a > bit fragile, let's keep only the second cleaner part, maybe? > I will make it simple. > >> -- >> 2.25.1 >> > . >
diff --git a/tools/bpf/runqslower/Makefile b/tools/bpf/runqslower/Makefile index da6de16a3dfb..8900c74f29e2 100644 --- a/tools/bpf/runqslower/Makefile +++ b/tools/bpf/runqslower/Makefile @@ -4,7 +4,7 @@ include ../../scripts/Makefile.include OUTPUT ?= $(abspath .output)/ BPFTOOL_OUTPUT := $(OUTPUT)bpftool/ -DEFAULT_BPFTOOL := $(BPFTOOL_OUTPUT)bpftool +DEFAULT_BPFTOOL := $(BPFTOOL_OUTPUT)bootstrap/bpftool BPFTOOL ?= $(DEFAULT_BPFTOOL) LIBBPF_SRC := $(abspath ../../lib/bpf) BPFOBJ_OUTPUT := $(OUTPUT)libbpf/ @@ -86,6 +86,12 @@ $(BPFOBJ): $(wildcard $(LIBBPF_SRC)/*.[ch] $(LIBBPF_SRC)/Makefile) | $(BPFOBJ_OU $(Q)$(MAKE) $(submake_extras) -C $(LIBBPF_SRC) OUTPUT=$(BPFOBJ_OUTPUT) \ DESTDIR=$(BPFOBJ_OUTPUT) prefix= $(abspath $@) install_headers +ifeq ($(CROSS_COMPILE),) $(DEFAULT_BPFTOOL): $(BPFOBJ) | $(BPFTOOL_OUTPUT) $(Q)$(MAKE) $(submake_extras) -C ../bpftool OUTPUT=$(BPFTOOL_OUTPUT) \ - ARCH= CROSS_COMPILE= CC=$(HOSTCC) LD=$(HOSTLD) + LIBBPF_BOOTSTRAP_OUTPUT=$(BPFOBJ_OUTPUT) \ + LIBBPF_BOOTSTRAP_DESTDIR=$(BPF_DESTDIR) bootstrap +else +$(DEFAULT_BPFTOOL): | $(BPFTOOL_OUTPUT) + $(Q)$(MAKE) $(submake_extras) -C ../bpftool OUTPUT=$(BPFTOOL_OUTPUT) bootstrap +endif
tools/runqslower use bpftool for vmlinux.h, skeleton, and static linking only. So we can use lightweight bootstrap version of bpftool to handle these, and it will be faster. Signed-off-by: Pu Lehui <pulehui@huawei.com> Suggested-by: Andrii Nakryiko <andrii@kernel.org> --- tools/bpf/runqslower/Makefile | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-)