netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Jakub Kicinski <jakub.kicinski@netronome.com>
To: daniel@iogearbox.net, alexei.starovoitov@gmail.com
Cc: netdev@vger.kernel.org, oss-drivers@netronome.com,
	Jakub Kicinski <jakub.kicinski@netronome.com>
Subject: [PATCH bpf-next 00/14] nfp: bpf: relocations, verifier log, signed jumps and other updates
Date: Tue,  9 Jan 2018 21:07:28 -0800	[thread overview]
Message-ID: <20180110050742.26226-1-jakub.kicinski@netronome.com> (raw)

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.

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: hand over to BPF offload app at coarser granularity
  nfp: bpf: use a large constant in unresolved branches

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                              |  14 +-
 14 files changed, 426 insertions(+), 258 deletions(-)

-- 
2.15.1

             reply	other threads:[~2018-01-10  5:07 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-01-10  5:07 Jakub Kicinski [this message]
2018-01-10  5:07 ` [PATCH bpf-next 01/14] nfp: don't try to register XDP rxq structures on control queues Jakub Kicinski
2018-01-10  5:07 ` [PATCH bpf-next 02/14] nfp: fix incumbent kdoc warnings Jakub Kicinski
2018-01-10  5:07 ` [PATCH bpf-next 03/14] nfp: bpf: round up the size of the stack Jakub Kicinski
2018-01-10  5:07 ` [PATCH bpf-next 04/14] nfp: bpf: don't allow changing MTU above BPF offload limit when active Jakub Kicinski
2018-01-10  5:07 ` [PATCH bpf-next 05/14] nfp: bpf: allow disabling TC offloads when XDP active Jakub Kicinski
2018-01-10  5:07 ` [PATCH bpf-next 06/14] nfp: bpf: move jump resolution to jit.c Jakub Kicinski
2018-01-10  5:07 ` [PATCH bpf-next 07/14] nfp: bpf: add helpers for modifying branch addresses Jakub Kicinski
2018-01-10  5:07 ` [PATCH bpf-next 08/14] nfp: bpf: relocate jump targets just before the load Jakub Kicinski
2018-01-10  5:07 ` [PATCH bpf-next 09/14] nfp: bpf: don't depend on high order allocations for program image Jakub Kicinski
2018-01-10  5:07 ` [PATCH bpf-next 10/14] nfp: bpf: use a large constant in unresolved branches Jakub Kicinski
2018-01-10  5:07 ` [PATCH bpf-next 11/14] nfp: hand over to BPF offload app at coarser granularity Jakub Kicinski
2018-01-10  5:07 ` [PATCH bpf-next 12/14] nfp: bpf: add signed jump insns Jakub Kicinski
2018-01-10  5:07 ` [PATCH bpf-next 13/14] bpf: export function to write into verifier log buffer Jakub Kicinski
2018-01-10 10:32   ` Daniel Borkmann
2018-01-10 12:25     ` Quentin Monnet
2018-01-10 18:58     ` Jakub Kicinski
2018-01-10  5:07 ` [PATCH bpf-next 14/14] nfp: bpf: reuse verifier log for debug messages Jakub Kicinski

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20180110050742.26226-1-jakub.kicinski@netronome.com \
    --to=jakub.kicinski@netronome.com \
    --cc=alexei.starovoitov@gmail.com \
    --cc=daniel@iogearbox.net \
    --cc=netdev@vger.kernel.org \
    --cc=oss-drivers@netronome.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).