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

Conversation

@korniltsev
Copy link
Contributor

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.

1 participant