4 ms·
I'd prefer it to use spirv or wasm. eBPF is intentionally an extremely limited language.
by nynx 6y ago
I'd prefer it to use spirv or wasm. eBPF is intentionally an extremely limited language.
- KMag 6y agoBut trivially provable termination is really nice property if you don't want to need your hypervisor to trust every guest kernel.
- benlwalker 6y agoeBPF the bytecode is not particularly limited. You can parse complex formats like Arrow or Parquet even. The Linux kernel overlays a verifier on top which adds all sorts of draconian restrictions (for good reason). When people talk of eBPF they don't always mean to include the Linux verifier limitations as well. In particular, that nvmexpress working group link in the parent post does not say one way or the other.
- nynx 6y agoWhy not use a different bytecode that is already more common, in that case?
- monocasa 6y agoBecause ebpf is designed for verification under constrained circumstances like kernels, but allowing easy JITing that's almost a 1 to 1 translation. Stuff like not doing register allocation, being 2 address, etc.