Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1434393 > unrolled thread

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

Started byAndreas Ziegler <andreas.ziegler@fau.de>
First post2016-06-30 11:10 +0200
Last post2016-06-30 12:40 +0200
Articles 3 — 3 participants

Back to article view | Back to linux.kernel

This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by below is the oldest one visible, not the original post.


Contents

  Re: [PATCHv2 0/7] eBPF JIT for PPC64 Andreas Ziegler <andreas.ziegler@fau.de> - 2016-06-30 11:10 +0200
    Re: [PATCHv2 0/7] eBPF JIT for PPC64 Denis Kirjanov <kda@linux-powerpc.org> - 2016-06-30 11:40 +0200
      Re: [PATCHv2 0/7] eBPF JIT for PPC64 "Naveen N. Rao" <naveen.n.rao@linux.vnet.ibm.com> - 2016-06-30 12:40 +0200

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

FromAndreas Ziegler <andreas.ziegler@fau.de>
Date2016-06-30 11:10 +0200
SubjectRe: [PATCHv2 0/7] eBPF JIT for PPC64
Message-ID<rPG8V-7It-11@gated-at.bofh.it>
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?

Best regards,

Andreas

[toc] | [next] | [standalone]


#1434410

FromDenis Kirjanov <kda@linux-powerpc.org>
Date2016-06-30 11:40 +0200
Message-ID<rPGBY-7Sr-17@gated-at.bofh.it>
In reply to#1434393
On 6/30/16, Andreas Ziegler <andreas.ziegler@fau.de> 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.

>
> Best regards,
>
> Andreas
> _______________________________________________
> Linuxppc-dev mailing list
> Linuxppc-dev@lists.ozlabs.org
> https://lists.ozlabs.org/listinfo/linuxppc-dev

[toc] | [prev] | [next] | [standalone]


#1434437

From"Naveen N. Rao" <naveen.n.rao@linux.vnet.ibm.com>
Date2016-06-30 12:40 +0200
Message-ID<rPHy1-8rT-21@gated-at.bofh.it>
In reply to#1434410
On 2016/06/30 12:34PM, Denis Kirjanov wrote:
> On 6/30/16, Andreas Ziegler <andreas.ziegler@fau.de> 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

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web