I'd like to propose to upgrade BPF backend to first class citizen.
Current status of it:
- used with linux kernel on x64, arm64, s390 architectures
- projects that use it: perf, tc, ovs
- there are few front-ends in the works:
. one is translating custom language to C and then using clang/llvm
. another is generating llvm IR directly
. yet another is using clang rewriter to augment C language
for tracing/networking needs
. one project tried to hack clang overall and was abandoned
. p4->bpf project was announced yesterday
- I've seen people embedding binary llc with bpf support
in their github projects.
- broken llvm build with bpf backend was reported many
times with few folks even provided simple patches to unbreak it.
- we've started to prepare buildbot specific to bpf, but hit
configuration issues with zorg. Hopefully it will be functional soon.
- as far as I can see all across the board api refactoring that
was done by a bunch of people over the last 5 month
didn't cause any problems for them or for the backend
- it was accidentally included in the last night builds and
reverted today. There were no buildbot issues (afaik)
- recent press:
bpf backend has been in-tree since January and has quite a few
users, so I think it's time to graduate it from experimental.