首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >是否有eBPF程序的解释器?

是否有eBPF程序的解释器?
EN

Stack Overflow用户
提问于 2022-05-17 07:28:35
回答 2查看 60关注 0票数 0

我对eBPF很陌生,正如本教程所建议的那样,eBPF是一个具有jit编译器的运行时。就我而言,字节码只是在eBPF中被转换成本机代码,所以我想知道是否有像eBPF中的JVM那样的解释阶段?

EN

回答 2

Stack Overflow用户

发布于 2022-05-17 08:20:49

如果禁用JIT编译器,则会对其进行解释。

您可以使用以下方法禁用JIT编译器:

代码语言:javascript
复制
echo 0 > /proc/sys/net/core/bpf_jit_enable

或者在内核配置中。通过以下方式:

代码语言:javascript
复制
CONFIG_BPF_JIT=n
票数 1
EN

Stack Overflow用户

发布于 2022-05-17 08:21:53

在Linux内核中,eBPF提供了解释器和JIT编译器(对于所有广泛的体系结构)。

您可以在程序中使用解释器或JIT编译器。这是通过bpf_jit_enable旋钮控制的sysctl。它们不是执行过程的不同阶段:当您使用解释器时,内核将解释您的程序并模拟寄存器;而在启用JIT编译器时,您将指令编译成本机代码。

尽管如此,翻译并不总是可用的。出于安全考虑(与谱有关),一些发行版在编译内核时会忽略它,方法是设置内核配置选项CONFIG_BPF_JIT_ALWAYS_ON=y。在这种情况下,不能使用解释器。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72269814

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档