From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jakub Kicinski Subject: [PATCH bpf-next 0/9] bpf: offload program and map sharing Date: Mon, 16 Jul 2018 19:37:14 -0700 Message-ID: <20180717023723.30155-1-jakub.kicinski@netronome.com> Cc: oss-drivers@netronome.com, netdev@vger.kernel.org, Jakub Kicinski To: alexei.starovoitov@gmail.com, daniel@iogearbox.net Return-path: Received: from mail-qt0-f195.google.com ([209.85.216.195]:37252 "EHLO mail-qt0-f195.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1729630AbeGQDJq (ORCPT ); Mon, 16 Jul 2018 23:09:46 -0400 Received: by mail-qt0-f195.google.com with SMTP id a18-v6so34735800qtj.4 for ; Mon, 16 Jul 2018 19:39:30 -0700 (PDT) Sender: netdev-owner@vger.kernel.org List-ID: Hi! This patchset adds support for sharing BPF objects within one ASIC. This will allow us to reuse of the same program on multiple ports of a device leading to better code store utilization. It also enables sharing maps between programs attached to different ports of a device. Jakub Kicinski (9): netdevsim: add switch_id attribute netdevsim: add shared netdevsim devices netdevsim: associate bound programs with shared dev nfp: add .ndo_init() and .ndo_uninit() callbacks bpf: offload: aggregate offloads per-device bpf: offload: allow program and map sharing per-ASIC netdevsim: allow program sharing between devices nfp: bpf: allow program sharing within ASIC selftests/bpf: add test for sharing objects between netdevs drivers/net/ethernet/netronome/nfp/bpf/main.c | 23 ++ drivers/net/ethernet/netronome/nfp/bpf/main.h | 4 + .../net/ethernet/netronome/nfp/bpf/offload.c | 10 +- drivers/net/ethernet/netronome/nfp/nfp_app.c | 17 ++ drivers/net/ethernet/netronome/nfp/nfp_app.h | 8 + .../ethernet/netronome/nfp/nfp_net_common.c | 2 + .../net/ethernet/netronome/nfp/nfp_net_repr.c | 2 + drivers/net/netdevsim/bpf.c | 50 +++- drivers/net/netdevsim/netdev.c | 103 +++++++- drivers/net/netdevsim/netdevsim.h | 23 +- include/linux/bpf.h | 10 +- kernel/bpf/offload.c | 223 ++++++++++++++---- kernel/bpf/verifier.c | 2 +- tools/testing/selftests/bpf/test_offload.py | 151 +++++++++++- 14 files changed, 543 insertions(+), 85 deletions(-) -- 2.17.1