Re: [PATCH v2 0/5] MIPS: Implement eBPF JIT.

2017-06-14 Thread Ralf Baechle
On Tue, Jun 13, 2017 at 03:28:42PM -0700, David Daney wrote:

> Changes in v2:
> 
>   - Squash a couple of the uasm cleanups.
> 
>   - Make insn_table_MM const (suggested by Matt Redfearn)
> 
>   - Put the eBPF in its own source file (should fix build
> warnings/errors on 32-bit kernel builds).
> 
>   - Use bpf_jit_binary_alloc() (suggested by Daniel Borkmann)
> 
>   - Implement tail calls.
> 
>   - Fix system call tracing to extract arguments for
> kprobe/__seccomp_filter() tracing (perhaps not really part the the
> JIT, but necessary to have fun with the samples/bpf programs).
> 
> Most things in samples/bpf work, still working on the incantations to
> build tools/testing/selftests/bpf/ ... 
> 
> 
> >From v1:
> 
> The first three patches improve MIPS uasm in preparation for use by
> the JIT.  Then the eBPF JIT implementation.
> 
> I am CCing netdev@ and the BPF maintainers for their comments, but
> would expect Ralf to merge via the MIPS tree if and when it all looks
> good.

Thanks, applied after fixing a minor conflict in arch/mips/Kconfig.

  Ralf


[PATCH v2 0/5] MIPS: Implement eBPF JIT.

2017-06-13 Thread David Daney
Changes in v2:

  - Squash a couple of the uasm cleanups.

  - Make insn_table_MM const (suggested by Matt Redfearn)

  - Put the eBPF in its own source file (should fix build
warnings/errors on 32-bit kernel builds).

  - Use bpf_jit_binary_alloc() (suggested by Daniel Borkmann)

  - Implement tail calls.

  - Fix system call tracing to extract arguments for
kprobe/__seccomp_filter() tracing (perhaps not really part the the
JIT, but necessary to have fun with the samples/bpf programs).

Most things in samples/bpf work, still working on the incantations to
build tools/testing/selftests/bpf/ ... 


>From v1:

The first three patches improve MIPS uasm in preparation for use by
the JIT.  Then the eBPF JIT implementation.

I am CCing netdev@ and the BPF maintainers for their comments, but
would expect Ralf to merge via the MIPS tree if and when it all looks
good.


David Daney (5):
  MIPS: Optimize uasm insn lookup.
  MIPS: Correctly define DBSHFL type instruction opcodes.
  MIPS: Add some instructions to uasm.
  MIPS: Add support for eBPF JIT.
  MIPS: Give __secure_computing() access to syscall arguments.

 arch/mips/Kconfig |   12 +-
 arch/mips/include/asm/uasm.h  |   30 +
 arch/mips/include/uapi/asm/inst.h |9 +-
 arch/mips/kernel/ptrace.c |   22 +-
 arch/mips/mm/uasm-micromips.c |  188 ++--
 arch/mips/mm/uasm-mips.c  |  238 ++---
 arch/mips/mm/uasm.c   |   61 +-
 arch/mips/net/Makefile|3 +-
 arch/mips/net/ebpf_jit.c  | 1949 +
 9 files changed, 2285 insertions(+), 227 deletions(-)
 create mode 100644 arch/mips/net/ebpf_jit.c

-- 
2.9.4