eBPF on powerpc

Naveen N. Rao naveen.n.rao at linux.vnet.ibm.com
Wed Nov 25 06:51:14 AEDT 2020


Christophe Leroy wrote:
> 
> 
> Le 24/11/2020 à 17:35, Naveen N. Rao a écrit :
>> Hi Christophe,
>> 
>> Christophe Leroy wrote:
>>> Hi Naveen,
>>>
>>> Few years ago, you implemented eBPF on PPC64.
>>>
>>> Is there any reason for implementing it for PPC64 only ?
>> 
>> I focused on ppc64 since eBPF is a 64-bit VM and it was more straight-forward to target.
>> 
>>> Is there something that makes it impossible to have eBPF for PPC32 as well ?
>> 
>> No, I just wasn't sure if it would be performant enough to warrant it. Since then however, there 
>> have been arm32 and riscv 32-bit JIT implementations and atleast the arm32 JIT seems to be showing 
>> ~50% better performance compared to the interpreter (*). So, it would be worthwhile to add support 
>> for ppc32.
> 
> That's great.
> 
> I know close to nothing about eBPF. Is there any interesting documentation on it somewhere that 
> would allow me to easily understand how it works and allow me to extend the 64 bit powerpc to 32 bits ?

I don't think there was ever a formal spec written for the eBPF VM. Here 
are a few resources which should help, alongside the existing JIT 
implementations:
- BPF Kernel Internals:  
  https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/networking/filter.rst#n604
- https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/bpf
- BPF and XDP Reference Guide: https://docs.cilium.io/en/stable/bpf/


- Naveen



More information about the Linuxppc-dev mailing list