[LLVMdev] Make BPF backend non-experimental?

Alexei Starovoitov alexei.starovoitov at gmail.com
Fri Jun 5 09:58:47 PDT 2015


Hi All,

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:
http://brendangregg.com/blog/2015-05-15/ebpf-one-small-step.html

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.

Thanks!



More information about the llvm-dev mailing list