Re: [PATCH] powerpc/bpf: Only update ldimm64 during extra pass when it is an address

From: Naveen N. Rao
Date: Fri Nov 25 2022 - 00:39:31 EST


Christophe Leroy wrote:


Le 24/11/2022 à 14:49, Naveen N. Rao a écrit :
Christophe Leroy wrote:


Le 24/11/2022 à 11:13, Naveen N. Rao a écrit :
Christophe Leroy wrote:

In what direction could that change in the future ?

For me if they change that it becomes an API change.

More of an extension, which is exactly what we had when BPF_PSEUDO_FUNC was introduced. Took us nearly a year before we noticed.

Because we do not do a full JIT during the extra pass today like other architectures, we are the exception - there is always the risk of bpf core changes breaking our JIT. So, I still think it is better if we do a full JIT during extra pass.


I like the idea of a full JIT during extra passes and will start looking at it.

Will it also allow us to revert your commit fab07611fb2e ("powerpc32/bpf: Fix codegen for bpf-to-bpf calls") ?

Not entirely. We still need those extra nops during the initial JIT so that we can estimate the maximum prog size. During extra pass, we can only emit the necessary instructions and skip extra nops. We may need to do two passes during extra_pass to adjust the branch targets though.

Thanks,
Naveen