[PATCH] tools: add forwarding header for arch/riscv/include/asm/fence.h

Andreas Schwab posted 1 patch 1 month, 3 weeks ago
tools/include/asm/fence.h | 3 +++
1 file changed, 3 insertions(+)
create mode 100644 tools/include/asm/fence.h
[PATCH] tools: add forwarding header for arch/riscv/include/asm/fence.h
Posted by Andreas Schwab 1 month, 3 weeks ago
This is needed so that <asm/barrier.h> can find <asm/fence.h> on riscv.

Fixes: 6d74d178fe6e ("tools: Add riscv barrier implementation")
Signed-off-by: Andreas Schwab <schwab@suse.de>
---
 tools/include/asm/fence.h | 3 +++
 1 file changed, 3 insertions(+)
 create mode 100644 tools/include/asm/fence.h

diff --git a/tools/include/asm/fence.h b/tools/include/asm/fence.h
new file mode 100644
index 000000000000..917a173059a4
--- /dev/null
+++ b/tools/include/asm/fence.h
@@ -0,0 +1,3 @@
+#if defined(__riscv)
+#include "../../arch/riscv/include/asm/fence.h"
+#endif
-- 
2.46.2


-- 
Andreas Schwab, SUSE Labs, schwab@suse.de
GPG Key fingerprint = 0196 BAD8 1CE9 1970 F4BE  1748 E4D4 88E3 0EEA B9D7
"And now for something completely different."
Re: [PATCH] tools: add forwarding header for arch/riscv/include/asm/fence.h
Posted by Alexandre Ghiti 3 weeks, 2 days ago
Hi Andreas,

On 07/10/2024 09:24, Andreas Schwab wrote:
> This is needed so that <asm/barrier.h> can find <asm/fence.h> on riscv.
>
> Fixes: 6d74d178fe6e ("tools: Add riscv barrier implementation")
> Signed-off-by: Andreas Schwab <schwab@suse.de>
> ---
>   tools/include/asm/fence.h | 3 +++
>   1 file changed, 3 insertions(+)
>   create mode 100644 tools/include/asm/fence.h
>
> diff --git a/tools/include/asm/fence.h b/tools/include/asm/fence.h
> new file mode 100644
> index 000000000000..917a173059a4
> --- /dev/null
> +++ b/tools/include/asm/fence.h
> @@ -0,0 +1,3 @@
> +#if defined(__riscv)
> +#include "../../arch/riscv/include/asm/fence.h"
> +#endif


After a discussion with Bjorn, it appears that he had already solved 
this issue with the following patch: 
https://lore.kernel.org/linux-riscv/20240927131355.350918-1-bjorn@kernel.org/ 
which we find cleaner. I have just tested his, and it indeed fixes the 
build error.

Unless you have any objection, we'll try to make Bjorn's patch into 
6.12-rc7 instead of yours.

Thanks,

Alex
Re: [PATCH] tools: add forwarding header for arch/riscv/include/asm/fence.h
Posted by Andreas Schwab 2 weeks, 2 days ago
On Nov 04 2024, Alexandre Ghiti wrote:

> Unless you have any objection, we'll try to make Bjorn's patch into
> 6.12-rc7 instead of yours.

It still fails the same:

In file included from /home/abuild/rpmbuild/BUILD/kernel-default-6.12~rc7/linux-6.12-rc7/tools/include/asm/barrier.h:12,
                 from /home/abuild/rpmbuild/BUILD/kernel-default-6.12~rc7/linux-6.12-rc7/tools/include/linux/ring_buffer.h:4,
                 from libbpf.c:37:
/home/abuild/rpmbuild/BUILD/kernel-default-6.12~rc7/linux-6.12-rc7/tools/include/asm/../../arch/riscv/include/asm/barrier.h:13:10: fatal error: asm/fence.h: No such file or directory
   13 | #include <asm/fence.h>
      |          ^~~~~~~~~~~~~
compilation terminated.
make[5]: *** [/home/abuild/rpmbuild/BUILD/kernel-default-6.12~rc7/linux-6.12-rc7/tools/build/Makefile.build:106: /home/abuild/rpmbuild/BUILD/kernel-default-6.12~rc7/linux-6.12-rc7/linux-obj/tools/bpf/resolve_btfids/libbpf/staticobjs/libbpf.o] Error 1
make[5]: *** Waiting for unfinished jobs....
make[4]: *** [Makefile:164: /home/abuild/rpmbuild/BUILD/kernel-default-6.12~rc7/linux-6.12-rc7/linux-obj/tools/bpf/resolve_btfids/libbpf/staticobjs/libbpf-in.o] Error 2
make[3]: *** [Makefile:63: /home/abuild/rpmbuild/BUILD/kernel-default-6.12~rc7/linux-6.12-rc7/linux-obj/tools/bpf/resolve_btfids//libbpf/libbpf.a] Error 2
make[2]: *** [Makefile:76: bpf/resolve_btfids] Error 2
make[1]: *** [/home/abuild/rpmbuild/BUILD/kernel-default-6.12~rc7/linux-6.12-rc7/Makefile:1393: tools/bpf/resolve_btfids] Error 2
make[1]: *** Waiting for unfinished jobs....
make: *** [../Makefile:224: __sub-make] Error 2

-- 
Andreas Schwab, SUSE Labs, schwab@suse.de
GPG Key fingerprint = 0196 BAD8 1CE9 1970 F4BE  1748 E4D4 88E3 0EEA B9D7
"And now for something completely different."
Re: [PATCH] tools: add forwarding header for arch/riscv/include/asm/fence.h
Posted by Alexandre Ghiti 2 weeks, 2 days ago
Hi Andreas,

On 11/11/2024 10:41, Andreas Schwab wrote:
> On Nov 04 2024, Alexandre Ghiti wrote:
>
>> Unless you have any objection, we'll try to make Bjorn's patch into
>> 6.12-rc7 instead of yours.
> It still fails the same:
>
> In file included from /home/abuild/rpmbuild/BUILD/kernel-default-6.12~rc7/linux-6.12-rc7/tools/include/asm/barrier.h:12,
>                   from /home/abuild/rpmbuild/BUILD/kernel-default-6.12~rc7/linux-6.12-rc7/tools/include/linux/ring_buffer.h:4,
>                   from libbpf.c:37:
> /home/abuild/rpmbuild/BUILD/kernel-default-6.12~rc7/linux-6.12-rc7/tools/include/asm/../../arch/riscv/include/asm/barrier.h:13:10: fatal error: asm/fence.h: No such file or directory
>     13 | #include <asm/fence.h>
>        |          ^~~~~~~~~~~~~
> compilation terminated.
> make[5]: *** [/home/abuild/rpmbuild/BUILD/kernel-default-6.12~rc7/linux-6.12-rc7/tools/build/Makefile.build:106: /home/abuild/rpmbuild/BUILD/kernel-default-6.12~rc7/linux-6.12-rc7/linux-obj/tools/bpf/resolve_btfids/libbpf/staticobjs/libbpf.o] Error 1
> make[5]: *** Waiting for unfinished jobs....
> make[4]: *** [Makefile:164: /home/abuild/rpmbuild/BUILD/kernel-default-6.12~rc7/linux-6.12-rc7/linux-obj/tools/bpf/resolve_btfids/libbpf/staticobjs/libbpf-in.o] Error 2
> make[3]: *** [Makefile:63: /home/abuild/rpmbuild/BUILD/kernel-default-6.12~rc7/linux-6.12-rc7/linux-obj/tools/bpf/resolve_btfids//libbpf/libbpf.a] Error 2
> make[2]: *** [Makefile:76: bpf/resolve_btfids] Error 2
> make[1]: *** [/home/abuild/rpmbuild/BUILD/kernel-default-6.12~rc7/linux-6.12-rc7/Makefile:1393: tools/bpf/resolve_btfids] Error 2
> make[1]: *** Waiting for unfinished jobs....
> make: *** [../Makefile:224: __sub-make] Error 2
>

Indeed, Bjorn's patches did not make it into rc7...
Re: [PATCH] tools: add forwarding header for arch/riscv/include/asm/fence.h
Posted by Andreas Schwab 2 weeks, 2 days ago
On Nov 11 2024, Alexandre Ghiti wrote:

> Indeed, Bjorn's patches did not make it into rc7...

That needs to be fixed ASAP!

-- 
Andreas Schwab, SUSE Labs, schwab@suse.de
GPG Key fingerprint = 0196 BAD8 1CE9 1970 F4BE  1748 E4D4 88E3 0EEA B9D7
"And now for something completely different."
Re: [PATCH] tools: add forwarding header for arch/riscv/include/asm/fence.h
Posted by Björn Töpel 2 weeks, 1 day ago
Andreas Schwab <schwab@suse.de> writes:

> On Nov 11 2024, Alexandre Ghiti wrote:
>
>> Indeed, Bjorn's patches did not make it into rc7...
>
> That needs to be fixed ASAP!

Ok, if we want to unbreak the tools builds, two series are required for
6.12.

[1] which addresses the asm/fence.h path issue
[2] which addresses the same issue, but for non-cross builds

[2] can be pulled to RISC-V fixes, but [1] reside in the bpf-next tree
(target 6.13). Details here: [3].

To reiterate what I asked Andrii, but for RISC-V fixes: Would it be
possible to pull these patches [2] into the RISC-V tree, having a
duplicate set in bpf-next? Or are we stuck with stable backporting, as
Andrii suggests?


Björn

[1] https://lore.kernel.org/linux-riscv/20240927131355.350918-1-bjorn@kernel.org/
[2] https://lore.kernel.org/linux-riscv/20241106193208.290067-1-bjorn@kernel.org/
[3] https://lore.kernel.org/linux-riscv/CAEf4BzZbq9OwSGi4pdb5_q8YkErfFiQFKYXg3g1rjpdejafx+Q@mail.gmail.com/
Re: [PATCH] tools: add forwarding header for arch/riscv/include/asm/fence.h
Posted by Alexandre Ghiti 4 weeks ago
Hi Andreas,

On 07/10/2024 09:24, Andreas Schwab wrote:
> This is needed so that <asm/barrier.h> can find <asm/fence.h> on riscv.
>
> Fixes: 6d74d178fe6e ("tools: Add riscv barrier implementation")
> Signed-off-by: Andreas Schwab <schwab@suse.de>
> ---
>   tools/include/asm/fence.h | 3 +++
>   1 file changed, 3 insertions(+)
>   create mode 100644 tools/include/asm/fence.h
>
> diff --git a/tools/include/asm/fence.h b/tools/include/asm/fence.h
> new file mode 100644
> index 000000000000..917a173059a4
> --- /dev/null
> +++ b/tools/include/asm/fence.h
> @@ -0,0 +1,3 @@
> +#if defined(__riscv)
> +#include "../../arch/riscv/include/asm/fence.h"
> +#endif


Thanks for the patch!

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

Alex
Re: [PATCH] tools: add forwarding header for arch/riscv/include/asm/fence.h
Posted by Anand Moon 4 weeks, 1 day ago
Hi Andreas,

On Tue, 8 Oct 2024 at 05:29, Andreas Schwab <schwab@suse.de> wrote:
>
> This is needed so that <asm/barrier.h> can find <asm/fence.h> on riscv.
>
> Fixes: 6d74d178fe6e ("tools: Add riscv barrier implementation")
> Signed-off-by: Andreas Schwab <schwab@suse.de>
> ---
>  tools/include/asm/fence.h | 3 +++
>  1 file changed, 3 insertions(+)
>  create mode 100644 tools/include/asm/fence.h
>
> diff --git a/tools/include/asm/fence.h b/tools/include/asm/fence.h
> new file mode 100644
> index 000000000000..917a173059a4
> --- /dev/null
> +++ b/tools/include/asm/fence.h
> @@ -0,0 +1,3 @@
> +#if defined(__riscv)
> +#include "../../arch/riscv/include/asm/fence.h"
> +#endif
> --
Thanks for this Fix.

Reviewed-by: Anand Moon <linux.amoon@gmail.com>

Thanks
-Anand

> 2.46.2
>
>
> --
> Andreas Schwab, SUSE Labs, schwab@suse.de
> GPG Key fingerprint = 0196 BAD8 1CE9 1970 F4BE  1748 E4D4 88E3 0EEA B9D7
> "And now for something completely different."
>
> _______________________________________________
> linux-riscv mailing list
> linux-riscv@lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-riscv
Re: [PATCH] tools: add forwarding header for arch/riscv/include/asm/fence.h
Posted by Palmer Dabbelt 1 month, 2 weeks ago
On Mon, 07 Oct 2024 00:24:06 PDT (-0700), schwab@suse.de wrote:
> This is needed so that <asm/barrier.h> can find <asm/fence.h> on riscv.
>
> Fixes: 6d74d178fe6e ("tools: Add riscv barrier implementation")
> Signed-off-by: Andreas Schwab <schwab@suse.de>
> ---
>  tools/include/asm/fence.h | 3 +++
>  1 file changed, 3 insertions(+)
>  create mode 100644 tools/include/asm/fence.h
>
> diff --git a/tools/include/asm/fence.h b/tools/include/asm/fence.h
> new file mode 100644
> index 000000000000..917a173059a4
> --- /dev/null
> +++ b/tools/include/asm/fence.h
> @@ -0,0 +1,3 @@
> +#if defined(__riscv)
> +#include "../../arch/riscv/include/asm/fence.h"
> +#endif

Reviewed-by: Palmer Dabbelt <palmer@rivosinc.com>
Acked-by: Palmer Dabbelt <palmer@rivosinc.com>

Happy to pick this up via the RISC-V tree if you want.  Thanks!
Re: [PATCH] tools: add forwarding header for arch/riscv/include/asm/fence.h
Posted by Andreas Schwab 4 weeks, 1 day ago
Ping!  It's already rc5 and this is still not fixed.

-- 
Andreas Schwab, SUSE Labs, schwab@suse.de
GPG Key fingerprint = 0196 BAD8 1CE9 1970 F4BE  1748 E4D4 88E3 0EEA B9D7
"And now for something completely different."
Re: [PATCH] tools: add forwarding header for arch/riscv/include/asm/fence.h
Posted by Andreas Schwab 1 month, 2 weeks ago
On Okt 09 2024, Palmer Dabbelt wrote:

> Happy to pick this up via the RISC-V tree if you want.  Thanks!

Please make sure to pass it on soon, since it blocks building a
full-featured kernel.

Thanks.

-- 
Andreas Schwab, SUSE Labs, schwab@suse.de
GPG Key fingerprint = 0196 BAD8 1CE9 1970 F4BE  1748 E4D4 88E3 0EEA B9D7
"And now for something completely different."