* FYI: CI regression on big-endian arch (s390) after recent pahole changes
@ 2024-08-30 0:05 Eduard Zingerman
2024-08-30 1:27 ` Tony Ambardar
2024-08-30 2:49 ` Song Liu
0 siblings, 2 replies; 20+ messages in thread
From: Eduard Zingerman @ 2024-08-30 0:05 UTC (permalink / raw)
To: Arnaldo Carvalho de Melo
Cc: alan.maguire, dwarves, bpf, andrii, martin.lau, songliubraving
Hi Arnaldo, Alan,
After recent pahole changes [1] BPF CI fails for s390 [2].
Song Liu identified that there is a mismatch between endianness of BTF
in .BTF and .BTF.base sections.
I think that the correct fix should be on libbpf side,
where btf__distill_base() should inherit endianness from source BTF.
If there are any plans for new pahole release,
could you please postpone it until current issue is resolved?
(I should have a fix for this thing by tomorrow).
Best regards,
Eduard
[1] c7b1f6a29ba1 ("btf_encoder: Add "distilled_base" BTF feature to split BTF generation")
[2] https://github.com/kernel-patches/bpf/actions/runs/10622763027/job/29447973415
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: FYI: CI regression on big-endian arch (s390) after recent pahole changes
2024-08-30 0:05 FYI: CI regression on big-endian arch (s390) after recent pahole changes Eduard Zingerman
@ 2024-08-30 1:27 ` Tony Ambardar
2024-08-30 1:40 ` Eduard Zingerman
2024-08-30 2:49 ` Song Liu
1 sibling, 1 reply; 20+ messages in thread
From: Tony Ambardar @ 2024-08-30 1:27 UTC (permalink / raw)
To: Eduard Zingerman
Cc: Arnaldo Carvalho de Melo, alan.maguire, dwarves, bpf, andrii,
martin.lau, songliubraving
On Thu, Aug 29, 2024 at 05:05:20PM -0700, Eduard Zingerman wrote:
> Hi Arnaldo, Alan,
>
> After recent pahole changes [1] BPF CI fails for s390 [2].
> Song Liu identified that there is a mismatch between endianness of BTF
> in .BTF and .BTF.base sections.
>
> I think that the correct fix should be on libbpf side,
> where btf__distill_base() should inherit endianness from source BTF.
> If there are any plans for new pahole release,
> could you please postpone it until current issue is resolved?
> (I should have a fix for this thing by tomorrow).
Hi Eduard,
Thanks for looking at this. I ran into the CI failure while using s390x
to test a series adding libbpf bi-endian support. Since I'm deep into
endianness issues right now, I thought to try the fix you suggested just
to make some progress but noticed the CI failure has disappeared.[0]
Did something get fixed already? I can't seem to find the change.
Many thanks,
Tony
[0] https://github.com/kernel-patches/bpf/pull/7520
>
> Best regards,
> Eduard
>
> [1] c7b1f6a29ba1 ("btf_encoder: Add "distilled_base" BTF feature to split BTF generation")
> [2] https://github.com/kernel-patches/bpf/actions/runs/10622763027/job/29447973415
>
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: FYI: CI regression on big-endian arch (s390) after recent pahole changes
2024-08-30 1:27 ` Tony Ambardar
@ 2024-08-30 1:40 ` Eduard Zingerman
2024-08-30 6:57 ` Tony Ambardar
0 siblings, 1 reply; 20+ messages in thread
From: Eduard Zingerman @ 2024-08-30 1:40 UTC (permalink / raw)
To: Tony Ambardar
Cc: Arnaldo Carvalho de Melo, alan.maguire, dwarves, bpf, andrii,
martin.lau, songliubraving
On Thu, 2024-08-29 at 18:27 -0700, Tony Ambardar wrote:
> Thanks for looking at this. I ran into the CI failure while using s390x
> to test a series adding libbpf bi-endian support. Since I'm deep into
> endianness issues right now, I thought to try the fix you suggested just
> to make some progress but noticed the CI failure has disappeared.[0]
Hi Tony,
There is no fix yet, sorry :)
I think that something like below should do the trick:
--- a/tools/lib/bpf/btf.c
+++ b/tools/lib/bpf/btf.c
@@ -5394,6 +5394,7 @@ int btf__distill_base(const struct btf *src_btf, struct btf **new_base_btf,
new_base = btf__new_empty();
if (!new_base)
return libbpf_err(-ENOMEM);
+ btf__set_endianness(new_base, btf__endianness(src_btf));
dist.id_map = calloc(n, sizeof(*dist.id_map));
if (!dist.id_map) {
err = -ENOMEM;
as far as I understand btf__raw_data() should do all conversions after this.
But I have not tested it yet and would be AFK for a few hours.
> Did something get fixed already? I can't seem to find the change.
pahole version w/o support for distilled base was pinned on CI:
https://github.com/kernel-patches/vmtest/pull/285/commits/d3eff26fc978ca8fb3bce3f93421f7425aef0f55
Thanks,
Eduard
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: FYI: CI regression on big-endian arch (s390) after recent pahole changes
2024-08-30 0:05 FYI: CI regression on big-endian arch (s390) after recent pahole changes Eduard Zingerman
2024-08-30 1:27 ` Tony Ambardar
@ 2024-08-30 2:49 ` Song Liu
2024-08-30 9:21 ` Eduard Zingerman
1 sibling, 1 reply; 20+ messages in thread
From: Song Liu @ 2024-08-30 2:49 UTC (permalink / raw)
To: Eduard Zingerman
Cc: Arnaldo Carvalho de Melo, Alan Maguire, dwarves@vger.kernel.org,
bpf, Andrii Nakryiko, Martin KaFai Lau, Song Liu
Hi Eduard,
Thanks for sending the report!
> On Aug 29, 2024, at 5:05 PM, Eduard Zingerman <eddyz87@gmail.com> wrote:
>
> Hi Arnaldo, Alan,
>
> After recent pahole changes [1] BPF CI fails for s390 [2].
> Song Liu identified that there is a mismatch between endianness of BTF
> in .BTF and .BTF.base sections.
Clarification:
With the regression, _both_ .BTF and .BTF.base sections (or at
least part of these sections) are in little endian for s390:
$ objdump -s -j .BTF bpf_testmod.ko | head
bpf_testmod.ko: file format elf64-big
Contents of section .BTF:
0000 9feb0100 18000000 00000000 301a0000 ............0...
0010 301a0000 80110000 00000000 0000000a 0...............
0020 24000000 00000000 00000003 00000000 $...............
0030 28000000 06000000 2b000000 00000000 (.......+.......
0040 0000000a 29000000 ea010000 03000004 ....)...........
0050 18000000 04020000 1e010000 00000000 ................
$ objdump -s -j .BTF.base bpf_testmod.ko | head
bpf_testmod.ko: file format elf64-big
Contents of section .BTF.base:
0000 9feb0100 18000000 00000000 fc010000 ................
0010 fc010000 ea010000 01000000 00000001 ................
0020 08000000 40000000 13000000 00000001 ....@...........
0030 01000000 08000000 18000000 00000001 ................
0040 04000000 20000000 25000000 00000001 .... ...%.......
0050 01000000 08000001 31000000 00000001 ........1.......
Before the regression, the "9feb" part was "eb9f" for s390:
$ objdump -s -j .BTF bpf_testmod.ko | head
bpf_testmod.ko: file format elf64-big
Contents of section .BTF:
0000 eb9f0100 00000018 00000000 00001560 ...............`
0010 00001560 00000fc2 00000000 0a000000 ...`............
Thanks,
Song
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: FYI: CI regression on big-endian arch (s390) after recent pahole changes
2024-08-30 1:40 ` Eduard Zingerman
@ 2024-08-30 6:57 ` Tony Ambardar
2024-08-30 9:13 ` Eduard Zingerman
0 siblings, 1 reply; 20+ messages in thread
From: Tony Ambardar @ 2024-08-30 6:57 UTC (permalink / raw)
To: Eduard Zingerman
Cc: Arnaldo Carvalho de Melo, alan.maguire, dwarves, bpf, andrii,
martin.lau, songliubraving
On Thu, Aug 29, 2024 at 06:40:59PM -0700, Eduard Zingerman wrote:
> On Thu, 2024-08-29 at 18:27 -0700, Tony Ambardar wrote:
>
>
> > Thanks for looking at this. I ran into the CI failure while using s390x
> > to test a series adding libbpf bi-endian support. Since I'm deep into
> > endianness issues right now, I thought to try the fix you suggested just
> > to make some progress but noticed the CI failure has disappeared.[0]
>
> Hi Tony,
>
> There is no fix yet, sorry :)
> I think that something like below should do the trick:
>
> --- a/tools/lib/bpf/btf.c
> +++ b/tools/lib/bpf/btf.c
> @@ -5394,6 +5394,7 @@ int btf__distill_base(const struct btf *src_btf, struct btf **new_base_btf,
> new_base = btf__new_empty();
> if (!new_base)
> return libbpf_err(-ENOMEM);
> + btf__set_endianness(new_base, btf__endianness(src_btf));
> dist.id_map = calloc(n, sizeof(*dist.id_map));
> if (!dist.id_map) {
> err = -ENOMEM;
>
> as far as I understand btf__raw_data() should do all conversions after this.
> But I have not tested it yet and would be AFK for a few hours.
>
Hi Eduard,
Yes, btf__raw_data() will work as expected.
I updated my local pahole and managed to reproduce the problem after
cross-compiling to s390x. Looking at lib/bpf/btf.c, I see one more spot
that needs to preserve source endianness compared to patch above, and
local testing under QEMU now works for me:
root@(none):/usr/libexec/kselftests-bpf# insmod bpf_testmod.ko
bpf_testmod: loading out-of-tree module taints kernel.
bpf_testmod: module verification failed: signature and/or required key
missing - tainting kernel
root@(none):/usr/libexec/kselftests-bpf# ./test_progs -a map_ptr
#166 map_ptr:OK
Summary: 1/0 PASSED, 0 SKIPPED, 0 FAILED
and:
$ llvm-readelf -x .BTF
bpf_testmod.ko | head -5
Hex dump of section '.BTF':
0x00000000 eb9f0100 00000018 00000000 00001a30 ...............0
0x00000010 00001a30 00001180 00000000 0a000000 ...0............
0x00000020 00000022 00000000 03000000 00000000 ..."............
0x00000030 00000028 00000006 0000002b 00000000 ...(.......+....
$ llvm-readelf -x .BTF.base
bpf_testmod.ko | head -5
Hex dump of section '.BTF.base':
0x00000000 eb9f0100 00000018 00000000 000001fc ................
0x00000010 000001fc 000001ea 00000001 01000000 ................
0x00000020 00000008 00000040 00000013 01000000 .......@........
0x00000030 00000001 00000008 00000018 01000000 ................
Please try with the patch below, or I can just send a proper one to the
list with some added "Co-developed-by:" if easier?
--- a/tools/lib/bpf/btf.c
+++ b/tools/lib/bpf/btf.c
@@ -996,6 +996,7 @@ static struct btf *btf_new_empty(struct btf *base_btf)
btf->base_btf = base_btf;
btf->start_id = btf__type_cnt(base_btf);
btf->start_str_off = base_btf->hdr->str_len;
+ btf->swapped_endian = base_btf->swapped_endian;
}
/* +1 for empty string at offset 0 */
@@ -5554,6 +5555,7 @@ int btf__distill_base(const struct btf *src_btf,
struct btf **new_base_btf,
new_base = btf__new_empty();
if (!new_base)
return libbpf_err(-ENOMEM);
+ btf__set_endianness(new_base, btf__endianness(src_btf));
dist.id_map = calloc(n, sizeof(*dist.id_map));
if (!dist.id_map) {
err = -ENOMEM;
> > Did something get fixed already? I can't seem to find the change.
>
> pahole version w/o support for distilled base was pinned on CI:
> https://github.com/kernel-patches/vmtest/pull/285/commits/d3eff26fc978ca8fb3bce3f93421f7425aef0f55
>
Ah, got it! That makes more sense now. Thanks for the extra details.
Take care,
Tony
>
> Thanks,
> Eduard
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: FYI: CI regression on big-endian arch (s390) after recent pahole changes
2024-08-30 6:57 ` Tony Ambardar
@ 2024-08-30 9:13 ` Eduard Zingerman
0 siblings, 0 replies; 20+ messages in thread
From: Eduard Zingerman @ 2024-08-30 9:13 UTC (permalink / raw)
To: Tony Ambardar
Cc: Arnaldo Carvalho de Melo, alan.maguire, dwarves, bpf, andrii,
martin.lau, songliubraving
On Thu, 2024-08-29 at 23:57 -0700, Tony Ambardar wrote:
[...]
> Please try with the patch below, or I can just send a proper one to the
> list with some added "Co-developed-by:" if easier?
Hi Tony,
Thank you for working on this. Sure, please send a proper patch, don't
bother with co-developed-by :) I'll send you a selftest shortly.
Thanks,
Eduard
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: FYI: CI regression on big-endian arch (s390) after recent pahole changes
2024-08-30 2:49 ` Song Liu
@ 2024-08-30 9:21 ` Eduard Zingerman
2024-08-30 10:05 ` Alan Maguire
0 siblings, 1 reply; 20+ messages in thread
From: Eduard Zingerman @ 2024-08-30 9:21 UTC (permalink / raw)
To: Song Liu
Cc: Arnaldo Carvalho de Melo, Alan Maguire, dwarves@vger.kernel.org,
bpf, Andrii Nakryiko, Martin KaFai Lau
On Fri, 2024-08-30 at 02:49 +0000, Song Liu wrote:
[...]
> Clarification:
>
> With the regression, _both_ .BTF and .BTF.base sections (or at
> least part of these sections) are in little endian for s390:
Hi Song,
Understood, thank you for clarification and sorry for confusion.
This makes sense because btf__distill_base() generates
two new BTF structures and both need to inherit endianness.
Thanks,
Eduard
[...]
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: FYI: CI regression on big-endian arch (s390) after recent pahole changes
2024-08-30 9:21 ` Eduard Zingerman
@ 2024-08-30 10:05 ` Alan Maguire
2024-08-30 10:07 ` Eduard Zingerman
2024-08-30 13:19 ` Arnaldo Carvalho de Melo
0 siblings, 2 replies; 20+ messages in thread
From: Alan Maguire @ 2024-08-30 10:05 UTC (permalink / raw)
To: Eduard Zingerman, Song Liu
Cc: Arnaldo Carvalho de Melo, dwarves@vger.kernel.org, bpf,
Andrii Nakryiko, Martin KaFai Lau
On 30/08/2024 10:21, Eduard Zingerman wrote:
> On Fri, 2024-08-30 at 02:49 +0000, Song Liu wrote:
>
> [...]
>
>> Clarification:
>>
>> With the regression, _both_ .BTF and .BTF.base sections (or at
>> least part of these sections) are in little endian for s390:
>
> Hi Song,
>
> Understood, thank you for clarification and sorry for confusion.
> This makes sense because btf__distill_base() generates
> two new BTF structures and both need to inherit endianness.
>
> Thanks,
> Eduard
>
> [...]
>
thanks all for the quick root-cause analysis and proposed fixes!
Explicitly checking these cases in the btf_endian selftest is probably
worthwhile; I've put together tests that do that for non-native
endianness but just noticed you mentioned you're working on tests
Eduard. Is that what you had in mind?
Arnaldo: apologies but I think we'll either need to back out the
distilled stuff for 1.28 or have a new libbpf resync that captures the
fixes for endian issues once they land. Let me know what works best for
you. Thanks!
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: FYI: CI regression on big-endian arch (s390) after recent pahole changes
2024-08-30 10:05 ` Alan Maguire
@ 2024-08-30 10:07 ` Eduard Zingerman
2024-08-30 13:19 ` Arnaldo Carvalho de Melo
1 sibling, 0 replies; 20+ messages in thread
From: Eduard Zingerman @ 2024-08-30 10:07 UTC (permalink / raw)
To: Alan Maguire, Song Liu
Cc: Arnaldo Carvalho de Melo, dwarves@vger.kernel.org, bpf,
Andrii Nakryiko, Martin KaFai Lau
On Fri, 2024-08-30 at 11:05 +0100, Alan Maguire wrote:
> thanks all for the quick root-cause analysis and proposed fixes!
> Explicitly checking these cases in the btf_endian selftest is probably
> worthwhile; I've put together tests that do that for non-native
> endianness but just noticed you mentioned you're working on tests
> Eduard. Is that what you had in mind?
Hi Alan,
Yes, but I need like 10-15 minutes more.
So we can go with your tests :)
Thanks,
Eduard
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: FYI: CI regression on big-endian arch (s390) after recent pahole changes
2024-08-30 10:05 ` Alan Maguire
2024-08-30 10:07 ` Eduard Zingerman
@ 2024-08-30 13:19 ` Arnaldo Carvalho de Melo
2024-08-30 15:56 ` Andrii Nakryiko
1 sibling, 1 reply; 20+ messages in thread
From: Arnaldo Carvalho de Melo @ 2024-08-30 13:19 UTC (permalink / raw)
To: Alan Maguire, Andrii Nakryiko
Cc: Eduard Zingerman, Song Liu, dwarves@vger.kernel.org, bpf,
Martin KaFai Lau
On Fri, Aug 30, 2024 at 11:05:30AM +0100, Alan Maguire wrote:
> On 30/08/2024 10:21, Eduard Zingerman wrote:
> > On Fri, 2024-08-30 at 02:49 +0000, Song Liu wrote:
> >> With the regression, _both_ .BTF and .BTF.base sections (or at
> >> least part of these sections) are in little endian for s390:
> > Hi Song,
> > Understood, thank you for clarification and sorry for confusion.
> > This makes sense because btf__distill_base() generates
> > two new BTF structures and both need to inherit endianness.
> thanks all for the quick root-cause analysis and proposed fixes!
> Explicitly checking these cases in the btf_endian selftest is probably
> worthwhile; I've put together tests that do that for non-native
> endianness but just noticed you mentioned you're working on tests
> Eduard. Is that what you had in mind?
> Arnaldo: apologies but I think we'll either need to back out the
> distilled stuff for 1.28 or have a new libbpf resync that captures the
> fixes for endian issues once they land. Let me know what works best for
> you. Thanks!
It was useful, we got it tested more widely and caught this one.
Andrii, what do you think? Can we get a 1.5.1 with this soon so that we
do a resying in pahole and then release 1.28?
- Arnaldo
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: FYI: CI regression on big-endian arch (s390) after recent pahole changes
2024-08-30 13:19 ` Arnaldo Carvalho de Melo
@ 2024-08-30 15:56 ` Andrii Nakryiko
2024-08-30 20:49 ` Arnaldo Carvalho de Melo
0 siblings, 1 reply; 20+ messages in thread
From: Andrii Nakryiko @ 2024-08-30 15:56 UTC (permalink / raw)
To: Arnaldo Carvalho de Melo
Cc: Alan Maguire, Andrii Nakryiko, Eduard Zingerman, Song Liu,
dwarves@vger.kernel.org, bpf, Martin KaFai Lau
On Fri, Aug 30, 2024 at 6:19 AM Arnaldo Carvalho de Melo
<acme@kernel.org> wrote:
>
> On Fri, Aug 30, 2024 at 11:05:30AM +0100, Alan Maguire wrote:
> > On 30/08/2024 10:21, Eduard Zingerman wrote:
> > > On Fri, 2024-08-30 at 02:49 +0000, Song Liu wrote:
> > >> With the regression, _both_ .BTF and .BTF.base sections (or at
> > >> least part of these sections) are in little endian for s390:
>
> > > Hi Song,
>
> > > Understood, thank you for clarification and sorry for confusion.
> > > This makes sense because btf__distill_base() generates
> > > two new BTF structures and both need to inherit endianness.
>
> > thanks all for the quick root-cause analysis and proposed fixes!
> > Explicitly checking these cases in the btf_endian selftest is probably
> > worthwhile; I've put together tests that do that for non-native
> > endianness but just noticed you mentioned you're working on tests
> > Eduard. Is that what you had in mind?
>
> > Arnaldo: apologies but I think we'll either need to back out the
> > distilled stuff for 1.28 or have a new libbpf resync that captures the
> > fixes for endian issues once they land. Let me know what works best for
> > you. Thanks!
>
> It was useful, we got it tested more widely and caught this one.
>
> Andrii, what do you think? Can we get a 1.5.1 with this soon so that we
> do a resying in pahole and then release 1.28?
Did you mean 1.4.6? We haven't released v1.5 just yet.
But yes, I'm going to cut a new set of bugfix releases to libbpf
anyways, there is one more skeleton-related fix I have to backport.
So I'll try to review, land, and backport the fix ASAP.
>
> - Arnaldo
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: FYI: CI regression on big-endian arch (s390) after recent pahole changes
2024-08-30 15:56 ` Andrii Nakryiko
@ 2024-08-30 20:49 ` Arnaldo Carvalho de Melo
2024-08-30 22:20 ` Andrii Nakryiko
2024-08-30 22:22 ` Alan Maguire
0 siblings, 2 replies; 20+ messages in thread
From: Arnaldo Carvalho de Melo @ 2024-08-30 20:49 UTC (permalink / raw)
To: Andrii Nakryiko
Cc: Alan Maguire, Andrii Nakryiko, Eduard Zingerman, Song Liu,
dwarves@vger.kernel.org, bpf, Martin KaFai Lau
On Fri, Aug 30, 2024 at 08:56:08AM -0700, Andrii Nakryiko wrote:
> On Fri, Aug 30, 2024 at 6:19 AM Arnaldo Carvalho de Melo <acme@kernel.org> wrote:
> > On Fri, Aug 30, 2024 at 11:05:30AM +0100, Alan Maguire wrote:
> > > Arnaldo: apologies but I think we'll either need to back out the
> > > distilled stuff for 1.28 or have a new libbpf resync that captures the
> > > fixes for endian issues once they land. Let me know what works best for
> > > you. Thanks!
> >
> > It was useful, we got it tested more widely and caught this one.
> >
> > Andrii, what do you think? Can we get a 1.5.1 with this soon so that we
> > do a resying in pahole and then release 1.28?
>
> Did you mean 1.4.6? We haven't released v1.5 just yet.
>
> But yes, I'm going to cut a new set of bugfix releases to libbpf
> anyways, there is one more skeleton-related fix I have to backport.
>
> So I'll try to review, land, and backport the fix ASAP.
Well, Alan sent patches updating libbpf to 1.5.0, so I misunderstood, I
think he meant what is to become 1.5.0, so even better, I think its just
a matter of updating the submodule sha:
⬢[acme@toolbox pahole]$ git show b6def578aa4a631f870568e13bfd647312718e7f
commit b6def578aa4a631f870568e13bfd647312718e7f
Author: Alan Maguire <alan.maguire@oracle.com>
Date: Mon Jul 29 12:13:16 2024 +0100
pahole: Sync with libbpf-1.5
This will pull in BTF support for distilled base BTF.
Signed-off-by: Alan Maguire <alan.maguire@oracle.com>
Cc: Alexei Starovoitov <ast@kernel.org>
Cc: Andrii Nakryiko <andrii@kernel.org>
Cc: Eduard Zingerman <eddyz87@gmail.com>
Cc: Jiri Olsa <jolsa@kernel.org>
Cc: bpf@vger.kernel.org
Cc: dwarves@vger.kernel.org
Link: https://lore.kernel.org/r/20240729111317.140816-2-alan.maguire@oracle.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
diff --git a/lib/bpf b/lib/bpf
index 6597330c45d18538..686f600bca59e107 160000
--- a/lib/bpf
+++ b/lib/bpf
@@ -1 +1 @@
-Subproject commit 6597330c45d185381900037f0130712cd326ae59
+Subproject commit 686f600bca59e107af4040d0838ca2b02c14ff50
⬢[acme@toolbox pahole]$
Right?
- Arnaldo
^ permalink raw reply related [flat|nested] 20+ messages in thread
* Re: FYI: CI regression on big-endian arch (s390) after recent pahole changes
2024-08-30 20:49 ` Arnaldo Carvalho de Melo
@ 2024-08-30 22:20 ` Andrii Nakryiko
2024-08-30 22:34 ` Alan Maguire
2024-08-30 22:22 ` Alan Maguire
1 sibling, 1 reply; 20+ messages in thread
From: Andrii Nakryiko @ 2024-08-30 22:20 UTC (permalink / raw)
To: Arnaldo Carvalho de Melo
Cc: Alan Maguire, Andrii Nakryiko, Eduard Zingerman, Song Liu,
dwarves@vger.kernel.org, bpf, Martin KaFai Lau
On Fri, Aug 30, 2024 at 1:49 PM Arnaldo Carvalho de Melo
<acme@kernel.org> wrote:
>
> On Fri, Aug 30, 2024 at 08:56:08AM -0700, Andrii Nakryiko wrote:
> > On Fri, Aug 30, 2024 at 6:19 AM Arnaldo Carvalho de Melo <acme@kernel.org> wrote:
> > > On Fri, Aug 30, 2024 at 11:05:30AM +0100, Alan Maguire wrote:
> > > > Arnaldo: apologies but I think we'll either need to back out the
> > > > distilled stuff for 1.28 or have a new libbpf resync that captures the
> > > > fixes for endian issues once they land. Let me know what works best for
> > > > you. Thanks!
> > >
> > > It was useful, we got it tested more widely and caught this one.
> > >
> > > Andrii, what do you think? Can we get a 1.5.1 with this soon so that we
> > > do a resying in pahole and then release 1.28?
> >
> > Did you mean 1.4.6? We haven't released v1.5 just yet.
> >
> > But yes, I'm going to cut a new set of bugfix releases to libbpf
> > anyways, there is one more skeleton-related fix I have to backport.
> >
> > So I'll try to review, land, and backport the fix ASAP.
>
> Well, Alan sent patches updating libbpf to 1.5.0, so I misunderstood, I
> think he meant what is to become 1.5.0, so even better, I think its just
> a matter of updating the submodule sha:
>
> ⬢[acme@toolbox pahole]$ git show b6def578aa4a631f870568e13bfd647312718e7f
> commit b6def578aa4a631f870568e13bfd647312718e7f
> Author: Alan Maguire <alan.maguire@oracle.com>
> Date: Mon Jul 29 12:13:16 2024 +0100
>
> pahole: Sync with libbpf-1.5
>
> This will pull in BTF support for distilled base BTF.
>
> Signed-off-by: Alan Maguire <alan.maguire@oracle.com>
> Cc: Alexei Starovoitov <ast@kernel.org>
> Cc: Andrii Nakryiko <andrii@kernel.org>
> Cc: Eduard Zingerman <eddyz87@gmail.com>
> Cc: Jiri Olsa <jolsa@kernel.org>
> Cc: bpf@vger.kernel.org
> Cc: dwarves@vger.kernel.org
> Link: https://lore.kernel.org/r/20240729111317.140816-2-alan.maguire@oracle.com
> Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
>
> diff --git a/lib/bpf b/lib/bpf
> index 6597330c45d18538..686f600bca59e107 160000
> --- a/lib/bpf
> +++ b/lib/bpf
> @@ -1 +1 @@
> -Subproject commit 6597330c45d185381900037f0130712cd326ae59
> +Subproject commit 686f600bca59e107af4040d0838ca2b02c14ff50
> ⬢[acme@toolbox pahole]$
>
> Right?
Yes, and I'm doing another Github sync today.
Separate question, I think pahole supports the shared library version
of libbpf, as an option, is that right? How do you guys handle missing
APIs for distilled BTF in such a case?
>
> - Arnaldo
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: FYI: CI regression on big-endian arch (s390) after recent pahole changes
2024-08-30 20:49 ` Arnaldo Carvalho de Melo
2024-08-30 22:20 ` Andrii Nakryiko
@ 2024-08-30 22:22 ` Alan Maguire
1 sibling, 0 replies; 20+ messages in thread
From: Alan Maguire @ 2024-08-30 22:22 UTC (permalink / raw)
To: Arnaldo Carvalho de Melo, Andrii Nakryiko
Cc: Andrii Nakryiko, Eduard Zingerman, Song Liu,
dwarves@vger.kernel.org, bpf, Martin KaFai Lau
On 30/08/2024 21:49, Arnaldo Carvalho de Melo wrote:
> On Fri, Aug 30, 2024 at 08:56:08AM -0700, Andrii Nakryiko wrote:
>> On Fri, Aug 30, 2024 at 6:19 AM Arnaldo Carvalho de Melo <acme@kernel.org> wrote:
>>> On Fri, Aug 30, 2024 at 11:05:30AM +0100, Alan Maguire wrote:
>>>> Arnaldo: apologies but I think we'll either need to back out the
>>>> distilled stuff for 1.28 or have a new libbpf resync that captures the
>>>> fixes for endian issues once they land. Let me know what works best for
>>>> you. Thanks!
>>>
>>> It was useful, we got it tested more widely and caught this one.
>>>
>>> Andrii, what do you think? Can we get a 1.5.1 with this soon so that we
>>> do a resying in pahole and then release 1.28?
>>
>> Did you mean 1.4.6? We haven't released v1.5 just yet.
>>
>> But yes, I'm going to cut a new set of bugfix releases to libbpf
>> anyways, there is one more skeleton-related fix I have to backport.
>>
>> So I'll try to review, land, and backport the fix ASAP.
>
> Well, Alan sent patches updating libbpf to 1.5.0, so I misunderstood, I
> think he meant what is to become 1.5.0, so even better, I think its just
> a matter of updating the submodule sha:
yep, sorry I should have been clearer here; at the start of a new libbpf
cycle the version is updated, but the sha I specified in my changes
wasn't an official libbpf 1.5 release; the goal was to pull in the
changes we needed for BTF relocation so we'd be in a position to test
pahole + libbpf together and shake out issues prior to syncing to an
official libbpf release.
>
> ⬢[acme@toolbox pahole]$ git show b6def578aa4a631f870568e13bfd647312718e7f
> commit b6def578aa4a631f870568e13bfd647312718e7f
> Author: Alan Maguire <alan.maguire@oracle.com>
> Date: Mon Jul 29 12:13:16 2024 +0100
>
> pahole: Sync with libbpf-1.5
>
> This will pull in BTF support for distilled base BTF.
>
> Signed-off-by: Alan Maguire <alan.maguire@oracle.com>
> Cc: Alexei Starovoitov <ast@kernel.org>
> Cc: Andrii Nakryiko <andrii@kernel.org>
> Cc: Eduard Zingerman <eddyz87@gmail.com>
> Cc: Jiri Olsa <jolsa@kernel.org>
> Cc: bpf@vger.kernel.org
> Cc: dwarves@vger.kernel.org
> Link: https://lore.kernel.org/r/20240729111317.140816-2-alan.maguire@oracle.com
> Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
>
> diff --git a/lib/bpf b/lib/bpf
> index 6597330c45d18538..686f600bca59e107 160000
> --- a/lib/bpf
> +++ b/lib/bpf
> @@ -1 +1 @@
> -Subproject commit 6597330c45d185381900037f0130712cd326ae59
> +Subproject commit 686f600bca59e107af4040d0838ca2b02c14ff50
> ⬢[acme@toolbox pahole]$
>
> Right?
yep; tho the above sha doesn't have the endianness fixes yet. Those have
landed in bpf-next, but are not in libbpf github yet. So we'd want to
pull those in too for the pahole release I think. Thanks!
Alan
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: FYI: CI regression on big-endian arch (s390) after recent pahole changes
2024-08-30 22:20 ` Andrii Nakryiko
@ 2024-08-30 22:34 ` Alan Maguire
2024-08-30 23:30 ` Andrii Nakryiko
2024-09-02 14:08 ` Arnaldo Carvalho de Melo
0 siblings, 2 replies; 20+ messages in thread
From: Alan Maguire @ 2024-08-30 22:34 UTC (permalink / raw)
To: Andrii Nakryiko, Arnaldo Carvalho de Melo
Cc: Andrii Nakryiko, Eduard Zingerman, Song Liu,
dwarves@vger.kernel.org, bpf, Martin KaFai Lau
On 30/08/2024 23:20, Andrii Nakryiko wrote:
> On Fri, Aug 30, 2024 at 1:49 PM Arnaldo Carvalho de Melo
> <acme@kernel.org> wrote:
>>
>> On Fri, Aug 30, 2024 at 08:56:08AM -0700, Andrii Nakryiko wrote:
>>> On Fri, Aug 30, 2024 at 6:19 AM Arnaldo Carvalho de Melo <acme@kernel.org> wrote:
>>>> On Fri, Aug 30, 2024 at 11:05:30AM +0100, Alan Maguire wrote:
>>>>> Arnaldo: apologies but I think we'll either need to back out the
>>>>> distilled stuff for 1.28 or have a new libbpf resync that captures the
>>>>> fixes for endian issues once they land. Let me know what works best for
>>>>> you. Thanks!
>>>>
>>>> It was useful, we got it tested more widely and caught this one.
>>>>
>>>> Andrii, what do you think? Can we get a 1.5.1 with this soon so that we
>>>> do a resying in pahole and then release 1.28?
>>>
>>> Did you mean 1.4.6? We haven't released v1.5 just yet.
>>>
>>> But yes, I'm going to cut a new set of bugfix releases to libbpf
>>> anyways, there is one more skeleton-related fix I have to backport.
>>>
>>> So I'll try to review, land, and backport the fix ASAP.
>>
>> Well, Alan sent patches updating libbpf to 1.5.0, so I misunderstood, I
>> think he meant what is to become 1.5.0, so even better, I think its just
>> a matter of updating the submodule sha:
>>
>> ⬢[acme@toolbox pahole]$ git show b6def578aa4a631f870568e13bfd647312718e7f
>> commit b6def578aa4a631f870568e13bfd647312718e7f
>> Author: Alan Maguire <alan.maguire@oracle.com>
>> Date: Mon Jul 29 12:13:16 2024 +0100
>>
>> pahole: Sync with libbpf-1.5
>>
>> This will pull in BTF support for distilled base BTF.
>>
>> Signed-off-by: Alan Maguire <alan.maguire@oracle.com>
>> Cc: Alexei Starovoitov <ast@kernel.org>
>> Cc: Andrii Nakryiko <andrii@kernel.org>
>> Cc: Eduard Zingerman <eddyz87@gmail.com>
>> Cc: Jiri Olsa <jolsa@kernel.org>
>> Cc: bpf@vger.kernel.org
>> Cc: dwarves@vger.kernel.org
>> Link: https://lore.kernel.org/r/20240729111317.140816-2-alan.maguire@oracle.com
>> Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
>>
>> diff --git a/lib/bpf b/lib/bpf
>> index 6597330c45d18538..686f600bca59e107 160000
>> --- a/lib/bpf
>> +++ b/lib/bpf
>> @@ -1 +1 @@
>> -Subproject commit 6597330c45d185381900037f0130712cd326ae59
>> +Subproject commit 686f600bca59e107af4040d0838ca2b02c14ff50
>> ⬢[acme@toolbox pahole]$
>>
>> Right?
>
> Yes, and I'm doing another Github sync today.
>
> Separate question, I think pahole supports the shared library version
> of libbpf, as an option, is that right? How do you guys handle missing
> APIs for distilled BTF in such a case?
>
Good question - at present the distill-related code is conditionally
compiled if LIBBPF_MAJOR_VERSION >=1 and LIBBF_MINOR_VERSION >= 5; so if
an older shared library libbpf+headers is used, the btf_feature is
simply ignored as if we didn't know about it. See [1] for the relevant
code in btf_encoder.c. This problem doesn't arise if we're using the
synced libbpf.
There might be a better way to handle this, but I think that's enough to
ensure we avoid compilation failures at least.
[1]
https://github.com/acmel/dwarves/blob/fd14dc67cb6aaead553074afb4a1ddad10209892/btf_encoder.c#L1766
>>
>> - Arnaldo
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: FYI: CI regression on big-endian arch (s390) after recent pahole changes
2024-08-30 22:34 ` Alan Maguire
@ 2024-08-30 23:30 ` Andrii Nakryiko
2024-09-02 13:06 ` Alan Maguire
2024-09-02 14:08 ` Arnaldo Carvalho de Melo
1 sibling, 1 reply; 20+ messages in thread
From: Andrii Nakryiko @ 2024-08-30 23:30 UTC (permalink / raw)
To: Alan Maguire
Cc: Arnaldo Carvalho de Melo, Andrii Nakryiko, Eduard Zingerman,
Song Liu, dwarves@vger.kernel.org, bpf, Martin KaFai Lau
On Fri, Aug 30, 2024 at 3:34 PM Alan Maguire <alan.maguire@oracle.com> wrote:
>
> On 30/08/2024 23:20, Andrii Nakryiko wrote:
> > On Fri, Aug 30, 2024 at 1:49 PM Arnaldo Carvalho de Melo
> > <acme@kernel.org> wrote:
> >>
> >> On Fri, Aug 30, 2024 at 08:56:08AM -0700, Andrii Nakryiko wrote:
> >>> On Fri, Aug 30, 2024 at 6:19 AM Arnaldo Carvalho de Melo <acme@kernel.org> wrote:
> >>>> On Fri, Aug 30, 2024 at 11:05:30AM +0100, Alan Maguire wrote:
> >>>>> Arnaldo: apologies but I think we'll either need to back out the
> >>>>> distilled stuff for 1.28 or have a new libbpf resync that captures the
> >>>>> fixes for endian issues once they land. Let me know what works best for
> >>>>> you. Thanks!
> >>>>
> >>>> It was useful, we got it tested more widely and caught this one.
> >>>>
> >>>> Andrii, what do you think? Can we get a 1.5.1 with this soon so that we
> >>>> do a resying in pahole and then release 1.28?
> >>>
> >>> Did you mean 1.4.6? We haven't released v1.5 just yet.
> >>>
> >>> But yes, I'm going to cut a new set of bugfix releases to libbpf
> >>> anyways, there is one more skeleton-related fix I have to backport.
> >>>
> >>> So I'll try to review, land, and backport the fix ASAP.
> >>
> >> Well, Alan sent patches updating libbpf to 1.5.0, so I misunderstood, I
> >> think he meant what is to become 1.5.0, so even better, I think its just
> >> a matter of updating the submodule sha:
> >>
> >> ⬢[acme@toolbox pahole]$ git show b6def578aa4a631f870568e13bfd647312718e7f
> >> commit b6def578aa4a631f870568e13bfd647312718e7f
> >> Author: Alan Maguire <alan.maguire@oracle.com>
> >> Date: Mon Jul 29 12:13:16 2024 +0100
> >>
> >> pahole: Sync with libbpf-1.5
> >>
> >> This will pull in BTF support for distilled base BTF.
> >>
> >> Signed-off-by: Alan Maguire <alan.maguire@oracle.com>
> >> Cc: Alexei Starovoitov <ast@kernel.org>
> >> Cc: Andrii Nakryiko <andrii@kernel.org>
> >> Cc: Eduard Zingerman <eddyz87@gmail.com>
> >> Cc: Jiri Olsa <jolsa@kernel.org>
> >> Cc: bpf@vger.kernel.org
> >> Cc: dwarves@vger.kernel.org
> >> Link: https://lore.kernel.org/r/20240729111317.140816-2-alan.maguire@oracle.com
> >> Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
> >>
> >> diff --git a/lib/bpf b/lib/bpf
> >> index 6597330c45d18538..686f600bca59e107 160000
> >> --- a/lib/bpf
> >> +++ b/lib/bpf
> >> @@ -1 +1 @@
> >> -Subproject commit 6597330c45d185381900037f0130712cd326ae59
> >> +Subproject commit 686f600bca59e107af4040d0838ca2b02c14ff50
> >> ⬢[acme@toolbox pahole]$
> >>
> >> Right?
> >
> > Yes, and I'm doing another Github sync today.
> >
> > Separate question, I think pahole supports the shared library version
> > of libbpf, as an option, is that right? How do you guys handle missing
> > APIs for distilled BTF in such a case?
> >
>
> Good question - at present the distill-related code is conditionally
> compiled if LIBBPF_MAJOR_VERSION >=1 and LIBBF_MINOR_VERSION >= 5; so if
> an older shared library libbpf+headers is used, the btf_feature is
> simply ignored as if we didn't know about it. See [1] for the relevant
> code in btf_encoder.c. This problem doesn't arise if we're using the
> synced libbpf.
Is it possible to compile against newer libbpf headers, but run with
older shared library?
BTW, I've just synced the latest libbpf sources to Github ([0]), feel
free to pull the latest submodule reference.
[0] https://github.com/libbpf/libbpf/pull/848
>
> There might be a better way to handle this, but I think that's enough to
> ensure we avoid compilation failures at least.
>
> [1]
> https://github.com/acmel/dwarves/blob/fd14dc67cb6aaead553074afb4a1ddad10209892/btf_encoder.c#L1766
>
> >>
> >> - Arnaldo
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: FYI: CI regression on big-endian arch (s390) after recent pahole changes
2024-08-30 23:30 ` Andrii Nakryiko
@ 2024-09-02 13:06 ` Alan Maguire
0 siblings, 0 replies; 20+ messages in thread
From: Alan Maguire @ 2024-09-02 13:06 UTC (permalink / raw)
To: Andrii Nakryiko
Cc: Arnaldo Carvalho de Melo, Andrii Nakryiko, Eduard Zingerman,
Song Liu, dwarves@vger.kernel.org, bpf, Martin KaFai Lau
On 31/08/2024 00:30, Andrii Nakryiko wrote:
> On Fri, Aug 30, 2024 at 3:34 PM Alan Maguire <alan.maguire@oracle.com> wrote:
>>
>> On 30/08/2024 23:20, Andrii Nakryiko wrote:
>>> On Fri, Aug 30, 2024 at 1:49 PM Arnaldo Carvalho de Melo
>>> <acme@kernel.org> wrote:
>>>>
>>>> On Fri, Aug 30, 2024 at 08:56:08AM -0700, Andrii Nakryiko wrote:
>>>>> On Fri, Aug 30, 2024 at 6:19 AM Arnaldo Carvalho de Melo <acme@kernel.org> wrote:
>>>>>> On Fri, Aug 30, 2024 at 11:05:30AM +0100, Alan Maguire wrote:
>>>>>>> Arnaldo: apologies but I think we'll either need to back out the
>>>>>>> distilled stuff for 1.28 or have a new libbpf resync that captures the
>>>>>>> fixes for endian issues once they land. Let me know what works best for
>>>>>>> you. Thanks!
>>>>>>
>>>>>> It was useful, we got it tested more widely and caught this one.
>>>>>>
>>>>>> Andrii, what do you think? Can we get a 1.5.1 with this soon so that we
>>>>>> do a resying in pahole and then release 1.28?
>>>>>
>>>>> Did you mean 1.4.6? We haven't released v1.5 just yet.
>>>>>
>>>>> But yes, I'm going to cut a new set of bugfix releases to libbpf
>>>>> anyways, there is one more skeleton-related fix I have to backport.
>>>>>
>>>>> So I'll try to review, land, and backport the fix ASAP.
>>>>
>>>> Well, Alan sent patches updating libbpf to 1.5.0, so I misunderstood, I
>>>> think he meant what is to become 1.5.0, so even better, I think its just
>>>> a matter of updating the submodule sha:
>>>>
>>>> ⬢[acme@toolbox pahole]$ git show b6def578aa4a631f870568e13bfd647312718e7f
>>>> commit b6def578aa4a631f870568e13bfd647312718e7f
>>>> Author: Alan Maguire <alan.maguire@oracle.com>
>>>> Date: Mon Jul 29 12:13:16 2024 +0100
>>>>
>>>> pahole: Sync with libbpf-1.5
>>>>
>>>> This will pull in BTF support for distilled base BTF.
>>>>
>>>> Signed-off-by: Alan Maguire <alan.maguire@oracle.com>
>>>> Cc: Alexei Starovoitov <ast@kernel.org>
>>>> Cc: Andrii Nakryiko <andrii@kernel.org>
>>>> Cc: Eduard Zingerman <eddyz87@gmail.com>
>>>> Cc: Jiri Olsa <jolsa@kernel.org>
>>>> Cc: bpf@vger.kernel.org
>>>> Cc: dwarves@vger.kernel.org
>>>> Link: https://lore.kernel.org/r/20240729111317.140816-2-alan.maguire@oracle.com
>>>> Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
>>>>
>>>> diff --git a/lib/bpf b/lib/bpf
>>>> index 6597330c45d18538..686f600bca59e107 160000
>>>> --- a/lib/bpf
>>>> +++ b/lib/bpf
>>>> @@ -1 +1 @@
>>>> -Subproject commit 6597330c45d185381900037f0130712cd326ae59
>>>> +Subproject commit 686f600bca59e107af4040d0838ca2b02c14ff50
>>>> ⬢[acme@toolbox pahole]$
>>>>
>>>> Right?
>>>
>>> Yes, and I'm doing another Github sync today.
>>>
>>> Separate question, I think pahole supports the shared library version
>>> of libbpf, as an option, is that right? How do you guys handle missing
>>> APIs for distilled BTF in such a case?
>>>
>>
>> Good question - at present the distill-related code is conditionally
>> compiled if LIBBPF_MAJOR_VERSION >=1 and LIBBF_MINOR_VERSION >= 5; so if
>> an older shared library libbpf+headers is used, the btf_feature is
>> simply ignored as if we didn't know about it. See [1] for the relevant
>> code in btf_encoder.c. This problem doesn't arise if we're using the
>> synced libbpf.
>
> Is it possible to compile against newer libbpf headers, but run with
> older shared library?
>
It would be possible alright; the most important case is package build
time versus package install time. IIRC rpmbuild will auto-detect the
version dependency (as long as libbpf is packaged too I think). We
probably don't want an explicit libbpf "Requires:" dependency in the
dwarves spec file since that wouldn't be needed for the static libbpf
library case.
> BTW, I've just synced the latest libbpf sources to Github ([0]), feel
> free to pull the latest submodule reference.
>
> [0] https://github.com/libbpf/libbpf/pull/848
>
Great, thanks! I'll send a patch to update the sha from the dwarves side.
Alan
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: FYI: CI regression on big-endian arch (s390) after recent pahole changes
2024-08-30 22:34 ` Alan Maguire
2024-08-30 23:30 ` Andrii Nakryiko
@ 2024-09-02 14:08 ` Arnaldo Carvalho de Melo
2024-09-02 14:59 ` Alan Maguire
1 sibling, 1 reply; 20+ messages in thread
From: Arnaldo Carvalho de Melo @ 2024-09-02 14:08 UTC (permalink / raw)
To: Alan Maguire
Cc: Andrii Nakryiko, Andrii Nakryiko, Eduard Zingerman, Song Liu,
dwarves@vger.kernel.org, bpf, Martin KaFai Lau
On Fri, Aug 30, 2024 at 11:34:40PM +0100, Alan Maguire wrote:
> On 30/08/2024 23:20, Andrii Nakryiko wrote:
> > On Fri, Aug 30, 2024 at 1:49 PM Arnaldo Carvalho de Melo <acme@kernel.org> wrote:
> >> On Fri, Aug 30, 2024 at 08:56:08AM -0700, Andrii Nakryiko wrote:
> >> +++ b/lib/bpf
> >> @@ -1 +1 @@
> >> -Subproject commit 6597330c45d185381900037f0130712cd326ae59
> >> +Subproject commit 686f600bca59e107af4040d0838ca2b02c14ff50
> >> ⬢[acme@toolbox pahole]$
> >> Right?
> > Yes, and I'm doing another Github sync today.
So, I just commited this locally:
⬢[acme@toolbox pahole]$ git show
commit 5fd558301891d1c0456fcae79798a789b499c1f9 (HEAD -> master)
Author: Arnaldo Carvalho de Melo <acme@redhat.com>
Date: Mon Sep 2 11:05:06 2024 -0300
libbpf: Sync with master, i.e. what will become 1.5.0
To pick this distilled BPF fix:
fe28fae57a9463fbf ("libbpf: Ensure new BTF objects inherit input endianness")
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
diff --git a/lib/bpf b/lib/bpf
index 686f600bca59e107..caa17bdcbfc58e68 160000
--- a/lib/bpf
+++ b/lib/bpf
@@ -1 +1 @@
-Subproject commit 686f600bca59e107af4040d0838ca2b02c14ff50
+Subproject commit caa17bdcbfc58e68eaf4d017c058e6577606bf56
⬢[acme@toolbox pahole]$
Ack?
> > Separate question, I think pahole supports the shared library version
> > of libbpf, as an option, is that right? How do you guys handle missing
> > APIs for distilled BTF in such a case?
> Good question - at present the distill-related code is conditionally
> compiled if LIBBPF_MAJOR_VERSION >=1 and LIBBF_MINOR_VERSION >= 5; so if
> an older shared library libbpf+headers is used, the btf_feature is
> simply ignored as if we didn't know about it. See [1] for the relevant
> code in btf_encoder.c. This problem doesn't arise if we're using the
> synced libbpf.
> There might be a better way to handle this, but I think that's enough to
> ensure we avoid compilation failures at least.
I guess this is good enough,
- Arnaldo
> [1]
> https://github.com/acmel/dwarves/blob/fd14dc67cb6aaead553074afb4a1ddad10209892/btf_encoder.c#L1766
^ permalink raw reply related [flat|nested] 20+ messages in thread
* Re: FYI: CI regression on big-endian arch (s390) after recent pahole changes
2024-09-02 14:08 ` Arnaldo Carvalho de Melo
@ 2024-09-02 14:59 ` Alan Maguire
2024-09-02 18:44 ` Arnaldo Carvalho de Melo
0 siblings, 1 reply; 20+ messages in thread
From: Alan Maguire @ 2024-09-02 14:59 UTC (permalink / raw)
To: Arnaldo Carvalho de Melo
Cc: Andrii Nakryiko, Andrii Nakryiko, Eduard Zingerman, Song Liu,
dwarves@vger.kernel.org, bpf, Martin KaFai Lau
On 02/09/2024 15:08, Arnaldo Carvalho de Melo wrote:
> On Fri, Aug 30, 2024 at 11:34:40PM +0100, Alan Maguire wrote:
>> On 30/08/2024 23:20, Andrii Nakryiko wrote:
>>> On Fri, Aug 30, 2024 at 1:49 PM Arnaldo Carvalho de Melo <acme@kernel.org> wrote:
>>>> On Fri, Aug 30, 2024 at 08:56:08AM -0700, Andrii Nakryiko wrote:
>>>> +++ b/lib/bpf
>>>> @@ -1 +1 @@
>>>> -Subproject commit 6597330c45d185381900037f0130712cd326ae59
>>>> +Subproject commit 686f600bca59e107af4040d0838ca2b02c14ff50
>>>> ⬢[acme@toolbox pahole]$
>
>>>> Right?
>
>>> Yes, and I'm doing another Github sync today.
>
> So, I just commited this locally:
>
> ⬢[acme@toolbox pahole]$ git show
> commit 5fd558301891d1c0456fcae79798a789b499c1f9 (HEAD -> master)
> Author: Arnaldo Carvalho de Melo <acme@redhat.com>
> Date: Mon Sep 2 11:05:06 2024 -0300
>
> libbpf: Sync with master, i.e. what will become 1.5.0
>
> To pick this distilled BPF fix:
>
> fe28fae57a9463fbf ("libbpf: Ensure new BTF objects inherit input endianness")
>
> Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
>
> diff --git a/lib/bpf b/lib/bpf
> index 686f600bca59e107..caa17bdcbfc58e68 160000
> --- a/lib/bpf
> +++ b/lib/bpf
> @@ -1 +1 @@
> -Subproject commit 686f600bca59e107af4040d0838ca2b02c14ff50
> +Subproject commit caa17bdcbfc58e68eaf4d017c058e6577606bf56
> ⬢[acme@toolbox pahole]$
>
> Ack?
>
Acked-by: Alan Maguire <alan.maguire@oracle.com>
My patch for the same change crossed with your email [1], just ignore
it. Thanks!
Alan
[1]
https://lore.kernel.org/dwarves/20240902141043.177815-1-alan.maguire@oracle.com/T/#u
>>> Separate question, I think pahole supports the shared library version
>>> of libbpf, as an option, is that right? How do you guys handle missing
>>> APIs for distilled BTF in such a case?
>
>> Good question - at present the distill-related code is conditionally
>> compiled if LIBBPF_MAJOR_VERSION >=1 and LIBBF_MINOR_VERSION >= 5; so if
>> an older shared library libbpf+headers is used, the btf_feature is
>> simply ignored as if we didn't know about it. See [1] for the relevant
>> code in btf_encoder.c. This problem doesn't arise if we're using the
>> synced libbpf.
>
>> There might be a better way to handle this, but I think that's enough to
>> ensure we avoid compilation failures at least.
>
> I guess this is good enough,
>
> - Arnaldo
>
>> [1]
>> https://github.com/acmel/dwarves/blob/fd14dc67cb6aaead553074afb4a1ddad10209892/btf_encoder.c#L1766
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: FYI: CI regression on big-endian arch (s390) after recent pahole changes
2024-09-02 14:59 ` Alan Maguire
@ 2024-09-02 18:44 ` Arnaldo Carvalho de Melo
0 siblings, 0 replies; 20+ messages in thread
From: Arnaldo Carvalho de Melo @ 2024-09-02 18:44 UTC (permalink / raw)
To: Alan Maguire
Cc: Andrii Nakryiko, Andrii Nakryiko, Eduard Zingerman, Song Liu,
dwarves@vger.kernel.org, bpf, Martin KaFai Lau
On Mon, Sep 02, 2024 at 03:59:26PM +0100, Alan Maguire wrote:
> On 02/09/2024 15:08, Arnaldo Carvalho de Melo wrote:
> > On Fri, Aug 30, 2024 at 11:34:40PM +0100, Alan Maguire wrote:
> >> On 30/08/2024 23:20, Andrii Nakryiko wrote:
> >>> On Fri, Aug 30, 2024 at 1:49 PM Arnaldo Carvalho de Melo <acme@kernel.org> wrote:
> >>>> On Fri, Aug 30, 2024 at 08:56:08AM -0700, Andrii Nakryiko wrote:
> >>>> +++ b/lib/bpf
> >>>> @@ -1 +1 @@
> >>>> -Subproject commit 6597330c45d185381900037f0130712cd326ae59
> >>>> +Subproject commit 686f600bca59e107af4040d0838ca2b02c14ff50
> >>>> ⬢[acme@toolbox pahole]$
> >
> >>>> Right?
> >
> >>> Yes, and I'm doing another Github sync today.
> >
> > So, I just commited this locally:
> >
> > ⬢[acme@toolbox pahole]$ git show
> > commit 5fd558301891d1c0456fcae79798a789b499c1f9 (HEAD -> master)
> > Author: Arnaldo Carvalho de Melo <acme@redhat.com>
> > Date: Mon Sep 2 11:05:06 2024 -0300
> >
> > libbpf: Sync with master, i.e. what will become 1.5.0
> >
> > To pick this distilled BPF fix:
> >
> > fe28fae57a9463fbf ("libbpf: Ensure new BTF objects inherit input endianness")
> >
> > Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
> >
> > diff --git a/lib/bpf b/lib/bpf
> > index 686f600bca59e107..caa17bdcbfc58e68 160000
> > --- a/lib/bpf
> > +++ b/lib/bpf
> > @@ -1 +1 @@
> > -Subproject commit 686f600bca59e107af4040d0838ca2b02c14ff50
> > +Subproject commit caa17bdcbfc58e68eaf4d017c058e6577606bf56
> > ⬢[acme@toolbox pahole]$
> >
> > Ack?
> >
>
> Acked-by: Alan Maguire <alan.maguire@oracle.com>
>
> My patch for the same change crossed with your email [1], just ignore
> it. Thanks!
I dropped mine and picked yours :-)
Thanks!
- Arnaldo
> Alan
>
> [1]
> https://lore.kernel.org/dwarves/20240902141043.177815-1-alan.maguire@oracle.com/T/#u
>
> >>> Separate question, I think pahole supports the shared library version
> >>> of libbpf, as an option, is that right? How do you guys handle missing
> >>> APIs for distilled BTF in such a case?
> >
> >> Good question - at present the distill-related code is conditionally
> >> compiled if LIBBPF_MAJOR_VERSION >=1 and LIBBF_MINOR_VERSION >= 5; so if
> >> an older shared library libbpf+headers is used, the btf_feature is
> >> simply ignored as if we didn't know about it. See [1] for the relevant
> >> code in btf_encoder.c. This problem doesn't arise if we're using the
> >> synced libbpf.
> >
> >> There might be a better way to handle this, but I think that's enough to
> >> ensure we avoid compilation failures at least.
> >
> > I guess this is good enough,
> >
> > - Arnaldo
> >
> >> [1]
> >> https://github.com/acmel/dwarves/blob/fd14dc67cb6aaead553074afb4a1ddad10209892/btf_encoder.c#L1766
^ permalink raw reply [flat|nested] 20+ messages in thread
end of thread, other threads:[~2024-09-02 18:44 UTC | newest]
Thread overview: 20+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-08-30 0:05 FYI: CI regression on big-endian arch (s390) after recent pahole changes Eduard Zingerman
2024-08-30 1:27 ` Tony Ambardar
2024-08-30 1:40 ` Eduard Zingerman
2024-08-30 6:57 ` Tony Ambardar
2024-08-30 9:13 ` Eduard Zingerman
2024-08-30 2:49 ` Song Liu
2024-08-30 9:21 ` Eduard Zingerman
2024-08-30 10:05 ` Alan Maguire
2024-08-30 10:07 ` Eduard Zingerman
2024-08-30 13:19 ` Arnaldo Carvalho de Melo
2024-08-30 15:56 ` Andrii Nakryiko
2024-08-30 20:49 ` Arnaldo Carvalho de Melo
2024-08-30 22:20 ` Andrii Nakryiko
2024-08-30 22:34 ` Alan Maguire
2024-08-30 23:30 ` Andrii Nakryiko
2024-09-02 13:06 ` Alan Maguire
2024-09-02 14:08 ` Arnaldo Carvalho de Melo
2024-09-02 14:59 ` Alan Maguire
2024-09-02 18:44 ` Arnaldo Carvalho de Melo
2024-08-30 22:22 ` Alan Maguire
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox