3 ms·
Yes, unless you count the ACPI machine language or BPF, but both of these are languages interpreted by the kernel, not languages linked directly to C.
by geofft 5y ago
Yes, unless you count the ACPI machine language or BPF, but both of these are languages interpreted by the kernel, not languages linked directly to C.
- vlovich123 5y agoIf I’m not mistake, the BPF interpreter is gone. All those programs are JITed. I don’t know BPF well enough to know, but I suspect you can call kernel C functions from there. Overall though, your overarching point still stands that the Rust development is big in that this marks the first time actual Linux kernel code will be written in a language other than C (or platform-specific assembly).
- wtallis 5y agoThe BPF JIT is still optional. When it is enabled, there is a separate option to disable the interpreter and always use the JIT (CONFIG_BPF_JIT_ALWAYS_ON).
- ncmncm 5y agoRunning eBPF does not involve a JIT at all. The code is compiled to native, if it is, exactly when it is inserted, not when it is first used. Most uses insert code once or at specific junctures, and execution mostly happens at points widely separated from those. People talk about the insertion process as if it were JIT just because it reuses infrastructure originally invented for JIT.