diff mbox series

[bpf-next,1/2] libbpf: Add missing per-arch include path

Message ID 20240927131355.350918-1-bjorn@kernel.org (mailing list archive)
State Handled Elsewhere
Headers show
Series [bpf-next,1/2] libbpf: Add missing per-arch include path | expand

Checks

Context Check Description
conchuod/vmtest-for-next-PR success PR summary
conchuod/patch-1-test-1 success .github/scripts/patches/tests/build_rv32_defconfig.sh took 131.84s
conchuod/patch-1-test-2 success .github/scripts/patches/tests/build_rv64_clang_allmodconfig.sh took 1293.88s
conchuod/patch-1-test-3 success .github/scripts/patches/tests/build_rv64_gcc_allmodconfig.sh took 1511.89s
conchuod/patch-1-test-4 success .github/scripts/patches/tests/build_rv64_nommu_k210_defconfig.sh took 20.51s
conchuod/patch-1-test-5 success .github/scripts/patches/tests/build_rv64_nommu_virt_defconfig.sh took 22.32s
conchuod/patch-1-test-6 success .github/scripts/patches/tests/checkpatch.sh took 0.39s
conchuod/patch-1-test-7 success .github/scripts/patches/tests/dtb_warn_rv64.sh took 43.10s
conchuod/patch-1-test-8 success .github/scripts/patches/tests/header_inline.sh took 0.00s
conchuod/patch-1-test-9 success .github/scripts/patches/tests/kdoc.sh took 0.53s
conchuod/patch-1-test-10 success .github/scripts/patches/tests/module_param.sh took 0.01s
conchuod/patch-1-test-11 success .github/scripts/patches/tests/verify_fixes.sh took 0.02s
conchuod/patch-1-test-12 success .github/scripts/patches/tests/verify_signedoff.sh took 0.03s

Commit Message

Björn Töpel Sept. 27, 2024, 1:13 p.m. UTC
From: Björn Töpel <bjorn@rivosinc.com>

libbpf does not include the per-arch tools include path, e.g.
tools/arch/riscv/include. Some architectures depend those files to
build properly.

Include tools/arch/$(SUBARCH)/include in the libbpf build.

Fixes: 6d74d178fe6e ("tools: Add riscv barrier implementation")
Signed-off-by: Björn Töpel <bjorn@rivosinc.com>
---
 tools/lib/bpf/Makefile | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)


base-commit: db5ca265e3334b48c4e3fa07eef79e8bc578c430

Comments

Andrii Nakryiko Sept. 27, 2024, 8:50 p.m. UTC | #1
On Fri, Sep 27, 2024 at 6:14 AM Björn Töpel <bjorn@kernel.org> wrote:
>
> From: Björn Töpel <bjorn@rivosinc.com>
>
> libbpf does not include the per-arch tools include path, e.g.
> tools/arch/riscv/include. Some architectures depend those files to
> build properly.
>
> Include tools/arch/$(SUBARCH)/include in the libbpf build.
>
> Fixes: 6d74d178fe6e ("tools: Add riscv barrier implementation")
> Signed-off-by: Björn Töpel <bjorn@rivosinc.com>
> ---
>  tools/lib/bpf/Makefile | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/tools/lib/bpf/Makefile b/tools/lib/bpf/Makefile
> index 1b22f0f37288..857a5f7b413d 100644
> --- a/tools/lib/bpf/Makefile
> +++ b/tools/lib/bpf/Makefile
> @@ -61,7 +61,8 @@ ifndef VERBOSE
>  endif
>
>  INCLUDES = -I$(or $(OUTPUT),.) \
> -          -I$(srctree)/tools/include -I$(srctree)/tools/include/uapi
> +          -I$(srctree)/tools/include -I$(srctree)/tools/include/uapi \
> +          -I$(srctree)/tools/arch/$(SRCARCH)/include
>
>  export prefix libdir src obj
>

Do you know what exactly is used from tools/arch/$(SRCARCH)/include
for (I assume) RISC-V? I'm asking because we'd need to make sure that
Github version of libbpf Makefile and include directory has all the
necessary pieces as well (so I'd appreciate if you could take a look
at that as well, if you haven't already).

>
> base-commit: db5ca265e3334b48c4e3fa07eef79e8bc578c430
> --
> 2.43.0
>
Björn Töpel Sept. 28, 2024, 9:11 a.m. UTC | #2
Andrii,

On Fri, 27 Sept 2024 at 22:51, Andrii Nakryiko
<andrii.nakryiko@gmail.com> wrote:
>
> On Fri, Sep 27, 2024 at 6:14 AM Björn Töpel <bjorn@kernel.org> wrote:
> >
> > From: Björn Töpel <bjorn@rivosinc.com>
> >
> > libbpf does not include the per-arch tools include path, e.g.
> > tools/arch/riscv/include. Some architectures depend those files to
> > build properly.
> >
> > Include tools/arch/$(SUBARCH)/include in the libbpf build.
> >
> > Fixes: 6d74d178fe6e ("tools: Add riscv barrier implementation")
> > Signed-off-by: Björn Töpel <bjorn@rivosinc.com>
> > ---
> >  tools/lib/bpf/Makefile | 3 ++-
> >  1 file changed, 2 insertions(+), 1 deletion(-)
> >
> > diff --git a/tools/lib/bpf/Makefile b/tools/lib/bpf/Makefile
> > index 1b22f0f37288..857a5f7b413d 100644
> > --- a/tools/lib/bpf/Makefile
> > +++ b/tools/lib/bpf/Makefile
> > @@ -61,7 +61,8 @@ ifndef VERBOSE
> >  endif
> >
> >  INCLUDES = -I$(or $(OUTPUT),.) \
> > -          -I$(srctree)/tools/include -I$(srctree)/tools/include/uapi
> > +          -I$(srctree)/tools/include -I$(srctree)/tools/include/uapi \
> > +          -I$(srctree)/tools/arch/$(SRCARCH)/include
> >
> >  export prefix libdir src obj
> >
>
> Do you know what exactly is used from tools/arch/$(SRCARCH)/include
> for (I assume) RISC-V? I'm asking because we'd need to make sure that
> Github version of libbpf Makefile and include directory has all the
> necessary pieces as well (so I'd appreciate if you could take a look
> at that as well, if you haven't already).

Ah, apologies for not stating that explicitly. It's
tools/arch/riscv/include/asm/{barrier.h,fence.h}

Cheers,
Björn
patchwork-bot+netdevbpf@kernel.org Oct. 8, 2024, 3:30 a.m. UTC | #3
Hello:

This series was applied to bpf/bpf-next.git (master)
by Andrii Nakryiko <andrii@kernel.org>:

On Fri, 27 Sep 2024 15:13:52 +0200 you wrote:
> From: Björn Töpel <bjorn@rivosinc.com>
> 
> libbpf does not include the per-arch tools include path, e.g.
> tools/arch/riscv/include. Some architectures depend those files to
> build properly.
> 
> Include tools/arch/$(SUBARCH)/include in the libbpf build.
> 
> [...]

Here is the summary with links:
  - [bpf-next,1/2] libbpf: Add missing per-arch include path
    https://git.kernel.org/bpf/bpf-next/c/710fbca820c7
  - [bpf-next,2/2] selftests: bpf: Add missing per-arch include path
    https://git.kernel.org/bpf/bpf-next/c/19090f0306f1

You are awesome, thank you!
Alexandre Ghiti Nov. 4, 2024, 10:04 a.m. UTC | #4
Hi Bjorn,

On 27/09/2024 15:13, Björn Töpel wrote:
> From: Björn Töpel <bjorn@rivosinc.com>
>
> libbpf does not include the per-arch tools include path, e.g.
> tools/arch/riscv/include. Some architectures depend those files to
> build properly.
>
> Include tools/arch/$(SUBARCH)/include in the libbpf build.
>
> Fixes: 6d74d178fe6e ("tools: Add riscv barrier implementation")
> Signed-off-by: Björn Töpel <bjorn@rivosinc.com>
> ---
>   tools/lib/bpf/Makefile | 3 ++-
>   1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/tools/lib/bpf/Makefile b/tools/lib/bpf/Makefile
> index 1b22f0f37288..857a5f7b413d 100644
> --- a/tools/lib/bpf/Makefile
> +++ b/tools/lib/bpf/Makefile
> @@ -61,7 +61,8 @@ ifndef VERBOSE
>   endif
>   
>   INCLUDES = -I$(or $(OUTPUT),.) \
> -	   -I$(srctree)/tools/include -I$(srctree)/tools/include/uapi
> +	   -I$(srctree)/tools/include -I$(srctree)/tools/include/uapi \
> +	   -I$(srctree)/tools/arch/$(SRCARCH)/include
>   
>   export prefix libdir src obj
>   
>
> base-commit: db5ca265e3334b48c4e3fa07eef79e8bc578c430


You can add:

Tested-by: Alexandre Ghiti <alexghiti@rivosinc.com>

Thanks,

Alex
Björn Töpel Nov. 4, 2024, 10:25 a.m. UTC | #5
patchwork-bot+netdevbpf@kernel.org writes:

> Hello:
>
> This series was applied to bpf/bpf-next.git (master)
> by Andrii Nakryiko <andrii@kernel.org>:
>
> On Fri, 27 Sep 2024 15:13:52 +0200 you wrote:
>> From: Björn Töpel <bjorn@rivosinc.com>
>> 
>> libbpf does not include the per-arch tools include path, e.g.
>> tools/arch/riscv/include. Some architectures depend those files to
>> build properly.
>> 
>> Include tools/arch/$(SUBARCH)/include in the libbpf build.
>> 
>> [...]
>
> Here is the summary with links:
>   - [bpf-next,1/2] libbpf: Add missing per-arch include path
>     https://git.kernel.org/bpf/bpf-next/c/710fbca820c7
>   - [bpf-next,2/2] selftests: bpf: Add missing per-arch include path
>     https://git.kernel.org/bpf/bpf-next/c/19090f0306f1

Andrii, I just noted that this landed into bpf-next, and not bpf
(fixes).

RISC-V libbpf/perf needs this fix in 6.12 to properly build. Would it be
possible to have it in the bpf tree, and have it land in 6.12-rc7?

Andreas that has a similar fix [1].


Björn

[1] https://lore.kernel.org/linux-riscv/mvm5xq44bqh.fsf@suse.de/
Kexy Biscuit Nov. 5, 2024, 11:46 a.m. UTC | #6
On 9/27/2024 9:13 PM, Björn Töpel wrote:
> From: Björn Töpel <bjorn@rivosinc.com>
> 
> libbpf does not include the per-arch tools include path, e.g.
> tools/arch/riscv/include. Some architectures depend those files to
> build properly.
> 
> Include tools/arch/$(SUBARCH)/include in the libbpf build.
> 
> Fixes: 6d74d178fe6e ("tools: Add riscv barrier implementation")
> Signed-off-by: Björn Töpel <bjorn@rivosinc.com>
> ---
>   tools/lib/bpf/Makefile | 3 ++-
>   1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/tools/lib/bpf/Makefile b/tools/lib/bpf/Makefile
> index 1b22f0f37288..857a5f7b413d 100644
> --- a/tools/lib/bpf/Makefile
> +++ b/tools/lib/bpf/Makefile
> @@ -61,7 +61,8 @@ ifndef VERBOSE
>   endif
>   
>   INCLUDES = -I$(or $(OUTPUT),.) \
> -	   -I$(srctree)/tools/include -I$(srctree)/tools/include/uapi
> +	   -I$(srctree)/tools/include -I$(srctree)/tools/include/uapi \
> +	   -I$(srctree)/tools/arch/$(SRCARCH)/include
>   
>   export prefix libdir src obj
>   
> 
> base-commit: db5ca265e3334b48c4e3fa07eef79e8bc578c430

This fixes building of bpf tools, thanks! You can add the following tags...

Reported-by: Andreas Schwab <schwab@suse.de>
Closes: https://lore.kernel.org/all/mvmo74441tr.fsf@suse.de/
Tested-by: Kexy Biscuit <kexybiscuit@aosc.io>
Andrii Nakryiko Nov. 6, 2024, 10:04 p.m. UTC | #7
On Mon, Nov 4, 2024 at 2:26 AM Björn Töpel <bjorn@kernel.org> wrote:
>
> patchwork-bot+netdevbpf@kernel.org writes:
>
> > Hello:
> >
> > This series was applied to bpf/bpf-next.git (master)
> > by Andrii Nakryiko <andrii@kernel.org>:
> >
> > On Fri, 27 Sep 2024 15:13:52 +0200 you wrote:
> >> From: Björn Töpel <bjorn@rivosinc.com>
> >>
> >> libbpf does not include the per-arch tools include path, e.g.
> >> tools/arch/riscv/include. Some architectures depend those files to
> >> build properly.
> >>
> >> Include tools/arch/$(SUBARCH)/include in the libbpf build.
> >>
> >> [...]
> >
> > Here is the summary with links:
> >   - [bpf-next,1/2] libbpf: Add missing per-arch include path
> >     https://git.kernel.org/bpf/bpf-next/c/710fbca820c7
> >   - [bpf-next,2/2] selftests: bpf: Add missing per-arch include path
> >     https://git.kernel.org/bpf/bpf-next/c/19090f0306f1
>
> Andrii, I just noted that this landed into bpf-next, and not bpf
> (fixes).

Hi Bjorn,

Yes, libbpf and selftests fixes are generally applied through
bpf-next, unless the issue is pretty bad and immediate.

I'm sorry, but unfortunately it's too late now to move those patches
as it's now been more than a month since they landed. For the future,
please let us know ASAP if you think patches were misrouted. I think
we are stuck with the need to do a stable backport for these, sorry.

>
> RISC-V libbpf/perf needs this fix in 6.12 to properly build. Would it be
> possible to have it in the bpf tree, and have it land in 6.12-rc7?
>
> Andreas that has a similar fix [1].
>
>
> Björn
>
> [1] https://lore.kernel.org/linux-riscv/mvm5xq44bqh.fsf@suse.de/
Björn Töpel Nov. 7, 2024, 2:32 p.m. UTC | #8
On Wed, 6 Nov 2024 at 23:04, Andrii Nakryiko <andrii.nakryiko@gmail.com> wrote:
> I'm sorry, but unfortunately it's too late now to move those patches
> as it's now been more than a month since they landed. For the future,
> please let us know ASAP if you think patches were misrouted. I think
> we are stuck with the need to do a stable backport for these, sorry.

Yeah, realize that it's really late. Thanks for getting back, and
noted for the future.

Cheers,
Björn
diff mbox series

Patch

diff --git a/tools/lib/bpf/Makefile b/tools/lib/bpf/Makefile
index 1b22f0f37288..857a5f7b413d 100644
--- a/tools/lib/bpf/Makefile
+++ b/tools/lib/bpf/Makefile
@@ -61,7 +61,8 @@  ifndef VERBOSE
 endif
 
 INCLUDES = -I$(or $(OUTPUT),.) \
-	   -I$(srctree)/tools/include -I$(srctree)/tools/include/uapi
+	   -I$(srctree)/tools/include -I$(srctree)/tools/include/uapi \
+	   -I$(srctree)/tools/arch/$(SRCARCH)/include
 
 export prefix libdir src obj