Re: [PATCHv2 0/7] eBPF JIT for PPC64

From: Naveen N. Rao
Date: Thu Jun 30 2016 - 06:33:53 EST


On 2016/06/30 12:34PM, Denis Kirjanov wrote:
> On 6/30/16, Andreas Ziegler <andreas.ziegler@xxxxxx> wrote:
> > Hi Naveen,
> >
> > this patchset makes a change to arch/powerpc/net/Makefile in order to only
> > compile the previously existing bpf_jit_comp.c if !CONFIG_PPC64, and use
> > bpf_jit_comp64.c if CONFIG_PPC64 is enabled.
> >
> > Inside arch/powerpc/net/bpf_jit_comp.c, however, there is still an #ifdef
> > CONFIG_PPC64 block at line 667 (linux-next of today, i.e., next-20160630):
> >
> > #ifdef CONFIG_PPC64
> > /* Function descriptor nastiness: Address + TOC */
> > ((u64 *)image)[0] = (u64)code_base;
> > ((u64 *)image)[1] = local_paca->kernel_toc;
> > #endif
> >
> > From my understanding of the code, this #ifdef can now be removed, as there
> > is
> > no way the file could be compiled with CONFIG_PPC64 enabled. Is this
> > correct?
>
> That was used for running classic BPF on ppc64. With eBPF on ppc64 the
> whole block can be removed.

Yes, that can be removed and so can the many 64-bit related macros in
bpf_jit32.h. The reason I didn't remove those just yet was so that we
could easily try out the classic BPF JIT for ppc64 BE, for
testing/performance comparison and so on. I think it would be good to
retain this for one kernel release.

- Naveen