bpf.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* Removal of 128MB limit for BPF JIT programs broke perf symbolication on aarch64
@ 2022-07-18 16:25 Ivan Babrou
  2022-07-18 18:33 ` [External] : " Russell King
  0 siblings, 1 reply; 2+ messages in thread
From: Ivan Babrou @ 2022-07-18 16:25 UTC (permalink / raw)
  To: Russell King
  Cc: Ard Biesheuvel, Daniel Borkmann, Alan Maguire, kernel-team, bpf,
	linux-perf-users

Hello,

We noticed that perf symbolication is broken on aarch64:

ivan@vm:~$ sudo perf_5.10 record -e cpu-clock --cpu 3 -g --call-graph
dwarf -F 11 -- sleep 0.1
ivan@vm:~$ sudo perf_5.10 script
swapper     0 [003]    75.516009:   90909090 cpu-clock:
        ffffffe7fe311808 [unknown] ([unknown])
        ffffffe7fdaf0a60 [unknown] ([unknown])
        ffffffe7fdaf0bdc [unknown] ([unknown])
        ffffffe7fda29538 [unknown] ([unknown])
        ffffffe7fe3253b8 [unknown] ([unknown])

On Linux 5.15 I was able to bisect this to 5.15.18, where this commit
was responsible (b89ddf4cca43 upstream):

* 9c82ce593626 arm64/bpf: Remove 128MB limit for BPF JIT programs

Reverting this commit in 5.15.18 resolves the issue. The issue is also
present in 5.19-rc6.

In addition to that, I noticed that on my personal kernel build this
doesn't happen on any kernel version. After many attempts at config
reconciliation, I narrowed it down to CONFIG_PROC_KCORE. When the
option is enabled and the commit b89ddf4cca43 is present, the stacks
have no kernel symbols.

This seems like a regression.

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [External] : Removal of 128MB limit for BPF JIT programs broke perf symbolication on aarch64
  2022-07-18 16:25 Removal of 128MB limit for BPF JIT programs broke perf symbolication on aarch64 Ivan Babrou
@ 2022-07-18 18:33 ` Russell King
  0 siblings, 0 replies; 2+ messages in thread
From: Russell King @ 2022-07-18 18:33 UTC (permalink / raw)
  To: Ivan Babrou
  Cc: Ard Biesheuvel, Daniel Borkmann, Alan Maguire, kernel-team, bpf,
	linux-perf-users, Russell King

Hi,

Sorry for the top-post, you sent to my @oracle.com email address which is Outlook web based and I can do nothing else here.

I'll look into this after the UK heatwave is over and we've recovered.

Thanks.

________________________________________
From: Ivan Babrou <ivan@cloudflare.com>
Sent: 18 July 2022 17:25
To: Russell King
Cc: Ard Biesheuvel; Daniel Borkmann; Alan Maguire; kernel-team; bpf; linux-perf-users@vger.kernel.org
Subject: [External] : Removal of 128MB limit for BPF JIT programs broke perf symbolication on aarch64

Hello,

We noticed that perf symbolication is broken on aarch64:

ivan@vm:~$ sudo perf_5.10 record -e cpu-clock --cpu 3 -g --call-graph
dwarf -F 11 -- sleep 0.1
ivan@vm:~$ sudo perf_5.10 script
swapper     0 [003]    75.516009:   90909090 cpu-clock:
        ffffffe7fe311808 [unknown] ([unknown])
        ffffffe7fdaf0a60 [unknown] ([unknown])
        ffffffe7fdaf0bdc [unknown] ([unknown])
        ffffffe7fda29538 [unknown] ([unknown])
        ffffffe7fe3253b8 [unknown] ([unknown])

On Linux 5.15 I was able to bisect this to 5.15.18, where this commit
was responsible (b89ddf4cca43 upstream):

* 9c82ce593626 arm64/bpf: Remove 128MB limit for BPF JIT programs

Reverting this commit in 5.15.18 resolves the issue. The issue is also
present in 5.19-rc6.

In addition to that, I noticed that on my personal kernel build this
doesn't happen on any kernel version. After many attempts at config
reconciliation, I narrowed it down to CONFIG_PROC_KCORE. When the
option is enabled and the commit b89ddf4cca43 is present, the stacks
have no kernel symbols.

This seems like a regression.

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2022-07-18 18:34 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-07-18 16:25 Removal of 128MB limit for BPF JIT programs broke perf symbolication on aarch64 Ivan Babrou
2022-07-18 18:33 ` [External] : " Russell King

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).