我是eBPF的新手,我知道eBPF是一个运行时,它将验证字节码并对其进行jit。所以我想知道eBPF是否会反复验证和jit相同的字节码?
当您加载程序时,jit编译只发生一次——这是jit编译的优点,您不需要每次运行时都重新编译。
如果您在启用了jit编译器的情况下多次加载相同的字节码,那么是的,您的程序将以基本相同的方式进行jit编译。我能想到的唯一区别是内核内联映射访问时插入的映射指针,如果程序指向不同的映射,这可能会有所不同。
如果您重新加载相同的程序,那么是的,内核将必须验证它并再次对其进行jit编译。但是,一旦加载了它,就不需要在其生命周期内对其进行验证或再次进行jit编译。