From mboxrd@z Thu Jan 1 00:00:00 1970 From: Quentin Monnet Subject: [PATCH bpf-next v2 00/14] nfp: bpf: relocations, verifier log, signed jumps and other updates Date: Wed, 10 Jan 2018 12:25:53 +0000 Message-ID: <1515587167-1959-1-git-send-email-quentin.monnet@netronome.com> Cc: oss-drivers@netronome.com, jakub.kicinski@netronome.com To: daniel@iogearbox.net, alexei.starovoitov@gmail.com, netdev@vger.kernel.org Return-path: Received: from mail-wr0-f196.google.com ([209.85.128.196]:39622 "EHLO mail-wr0-f196.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S933970AbeAJM1B (ORCPT ); Wed, 10 Jan 2018 07:27:01 -0500 Received: by mail-wr0-f196.google.com with SMTP id z48so11431718wrz.6 for ; Wed, 10 Jan 2018 04:27:01 -0800 (PST) Sender: netdev-owner@vger.kernel.org List-ID: Jakub says: Hi! This series starts with a fix to Jesper's recent work, somehow I forgot about control rings during review. Second patch is cleaning up a vNIC header, in kdoc we should not use @ for #define constants. Aligning of the top of the stack as well as bottom (last bytes will be unused) helps the performance. We should check offload datapath's max MTU when program is loaded and we can allow TC hw offload flag to be changed freely while XDP offload is active. Next group of patches adds more fully featured relocation support. Due to limited amount of code space we only load the image to NIC's memory when program is attached. Since we can't predict which programs are loaded later, we should translate as if image was to be loaded at offset zero and only apply relocations at load time. Many more advanced features (eg. tail class, subprograms, dynamic allocation of program space and sharing it between ports) will depend on this. Nic adds support for signed comparison instructions. Quentin makes use of the verifier log in our driver, the verifier print function (verbose()) has to be renamed and exported. v2: - replace #define by function aliasing for verbose() in patch 13 Jakub Kicinski (11): nfp: don't try to register XDP rxq structures on control queues nfp: fix incumbent kdoc warnings nfp: bpf: round up the size of the stack nfp: bpf: don't allow changing MTU above BPF offload limit when active nfp: bpf: allow disabling TC offloads when XDP active nfp: bpf: move jump resolution to jit.c nfp: bpf: add helpers for modifying branch addresses nfp: bpf: relocate jump targets just before the load nfp: bpf: don't depend on high order allocations for program image nfp: bpf: use a large constant in unresolved branches nfp: hand over to BPF offload app at coarser granularity Nic Viljoen (1): nfp: bpf: add signed jump insns Quentin Monnet (2): bpf: export function to write into verifier log buffer nfp: bpf: reuse verifier log for debug messages drivers/net/ethernet/netronome/nfp/bpf/jit.c | 248 ++++++++++++++------- drivers/net/ethernet/netronome/nfp/bpf/main.c | 38 +++- drivers/net/ethernet/netronome/nfp/bpf/main.h | 44 ++-- drivers/net/ethernet/netronome/nfp/bpf/offload.c | 65 +++--- drivers/net/ethernet/netronome/nfp/bpf/verifier.c | 30 +-- drivers/net/ethernet/netronome/nfp/nfp_app.h | 60 ++--- drivers/net/ethernet/netronome/nfp/nfp_asm.c | 30 +++ drivers/net/ethernet/netronome/nfp/nfp_asm.h | 5 + .../net/ethernet/netronome/nfp/nfp_net_common.c | 27 +-- drivers/net/ethernet/netronome/nfp/nfp_net_ctrl.h | 111 ++++----- drivers/net/ethernet/netronome/nfp/nfp_net_repr.c | 8 + drivers/net/ethernet/netronome/nfp/nfp_net_repr.h | 1 + include/linux/bpf_verifier.h | 3 + kernel/bpf/verifier.c | 16 +- 14 files changed, 428 insertions(+), 258 deletions(-) -- 2.7.4