Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Does propeller supported in aarch64? #86

Open
hstk30-hw opened this issue Oct 10, 2024 · 2 comments
Open

Does propeller supported in aarch64? #86

hstk30-hw opened this issue Oct 10, 2024 · 2 comments

Comments

@hstk30-hw
Copy link

In propeller step 2, I see propeller dependce the LBR (last branch record) featue, which is deficienced in aarch64.

So does propeller supported in aarch64? Or can we do something let it work?
Maybe simulate the LBR feature by instrumentation in aarch64?

Thx.

@dhoekwater
Copy link
Collaborator

Yes, Propeller does support AArch64; while LBR isn't present on Arm, there are a number of different sources for hardware branch samples:

Propeller tooling supports SPE, with some very rough documentation here. We plan to add support for ETM and BRBE in the next year or so.

While Propeller profile generation is mainly accessible through v0.30.1 of the AutoFDO repo, we're working on splitting out the Propeller codebase into this repo (hence the recent activity here); we expect to be done in the next few months.

@amharc
Copy link
Collaborator

amharc commented Nov 13, 2024

FWIW, ETM and BRBE should be supported even as of now:

  • BRBE walks and quacks like LBR in terms of what's in the perf.data files, so it should just work out of the box;
  • ETM can be converted into something LBR-like using perf inject --itrace with appropriate params to --itrace (of particular importance is the l option, described in the manual as "synthesize last branch entries (use with i or x)")

We haven't tested those though (as opposed to SPE).

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

No branches or pull requests

3 participants