3 ms·
Serious question: what's the advantage of something like this over eBPF? As I understand it, you can generate eBPF bytecode from C and Linux already has a JIT c
by uluyol 8y ago
Serious question: what's the advantage of something like this over eBPF? As I understand it, you can generate eBPF bytecode from C and Linux already has a JIT compiler for it.
- telotortium 8y agoeBPF is a limited, non-Turing complete language, in particular not having loops. Because of this, it's feasible to allow users to upload eBPF filters into the kernel, because execution is safe and and the time to run the filter can be upper-bounded. Wasm, on the other hand, is a memory-safe interpreter, but unlike eBPR is Turing-complete, so it can run arbitrary programs.
- snaky 8y ago> in particular not having loops Well, almost. > The main object of this patch series is to support verification of eBPF programs with bounded loops. Only bounds derived from JLT (unsigned <) with the taken branch in the loop are supported, but it should be clear how others could be added. https://lwn.net/Articles/748032/ https://lwn.net/Articles/748032/
- kbumsik 8y agoMany other modern languages such as Rust and Go are aiming to officially support WASM. I don't know much about eBPF but it looks like it only support C for now.
- steveklabnik 8y agoA company just announced some cool eBPF and Rust stuff today: https://blog.redsift.com/labs/ebpf-ingrained-in-rust/ https://blog.redsift.com/labs/ebpf-ingrained-in-rust/
- ncmncm 8y agoeBPF is generated from LLVM IR, so any language that compiles to IR works, so long as the code doesn't translate to IR operations not permitted in eBPF.