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

BPF Support in lo2s #284

Open
3 tasks
cvonelm opened this issue May 8, 2023 · 1 comment · May be fixed by #334
Open
3 tasks

BPF Support in lo2s #284

cvonelm opened this issue May 8, 2023 · 1 comment · May be fixed by #334
Assignees

Comments

@cvonelm
Copy link
Member

cvonelm commented May 8, 2023

BPF continues to be the rising star of Linux tracing and I think that we should evaluate its suitability in an HPC context to have a clear answer for the next time "I could use BPF for that" comes up.

I think BPF is inevitable for two reasons:

  1. Having read access to kernel memory is an absolute killer feature, especially considering much of the useful information in tracepoints is hidden behind pointers to kernel memory.
  2. It feels like BPF is quickly leaving behind more traditional tracing approaches using perf and the lot, with the answer more often becoming "Just throw BPF at it"/

However, in the past BPF has been very "move fast and break things" which is unsuitable for HPC. Compiled BPF programs especially were not portable between kernel releases as when kernel data structures changed, BPF programs accessing those data structures would tend to break.

However, CO-RE has emerged as a mechanism for supporting portable BPF programs using clever symbol resolution magic and has now been in the kernel for quite some time.

This leaves us with the following tasks

  • Evaluate CO-RE support on our target systems
  • Evaluate the overhead of BPF
  • Evaluate permission requirements.
@cvonelm
Copy link
Member Author

cvonelm commented Nov 27, 2023

  • Our target systems (mainly Barnard) support CO-RE as they come with Rocky Linux 8.6
  • BPF can only be used with sudo. There does not exist some kind of perf_event_paranoid equivalent

@cvonelm cvonelm self-assigned this May 30, 2024
@cvonelm cvonelm linked a pull request Jun 3, 2024 that will close this issue
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

Successfully merging a pull request may close this issue.

1 participant