yonghong-song wrote:

@AaronBallman Just want to clarify about linking. For bpf ecosystem, we do not 
do linking with llvm lld. We do linking with bpftool (see 
https://www.mankier.com/8/bpftool-gen) as there are special requirements to 
*glue* bpf programs together.

In bpf_fastcall use case, the function to be inlined is not in BPF programs but 
in kernel. For some specific kernel functions called from bpf program. In old 
kernel, where bpf_fastcall not available to them, nothing changes, bpf program 
will call them as usual. In new kernel where kernel implements to process 
bpf_fastcall generated code,
kernel can implement inlining since it knows what exactly that function intends 
to do. Of course we only target
*simple* kernel functions at this moment.

So your concern about a func in bpf lib compiled with bpf_fastcall attribute 
ignored won't be an issue here.

In the future, if we indeed intend to inline bpf functions in library, I guess 
those functions can be defined in header files.

https://github.com/llvm/llvm-project/pull/101228
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to