Skip to content
This repository has been archived by the owner on Jul 19, 2023. It is now read-only.

fix/ebpf arm64 unwind #862

Draft
wants to merge 7 commits into
base: main
Choose a base branch
from
Draft

fix/ebpf arm64 unwind #862

wants to merge 7 commits into from

Conversation

korniltsev
Copy link
Collaborator

we never had working ebpf profiles in arm64

I found the reason:
old kernels expected x29 register to be 16 byte aligned, however in our go binaries it is 8 bytes aligned.
torvalds/linux@33c222a

In this PR i copied the logic from the kernel unwind logic to the ebpf program itself.

Now it is better

But end of stack is detected imperfectly, also there are bunch of unknowns. Need to debug later more.

before
https://flamegraph.com/share/5a2ad225-240d-11ee-85f3-ba195a7e5c95
after
image

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant