From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from www62.your-server.de ([213.133.104.62]:37091 "EHLO www62.your-server.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752373AbeBZLwt (ORCPT ); Mon, 26 Feb 2018 06:52:49 -0500 From: Daniel Borkmann To: davem@davemloft.net Cc: daniel@iogearbox.net, ast@kernel.org, netdev@vger.kernel.org Subject: pull-request: bpf-next 2018-02-26 Date: Mon, 26 Feb 2018 12:52:39 +0100 Message-Id: <20180226115239.24477-1-daniel@iogearbox.net> Sender: netdev-owner@vger.kernel.org List-ID: Hi David, The following pull-request contains BPF updates for your *net-next* tree. The main changes are: 1) Various improvements for BPF kselftests: i) skip unprivileged tests when kernel.unprivileged_bpf_disabled sysctl knob is set, ii) count the number of skipped tests from unprivileged, iii) when a test case had an unexpected error then print the actual but also the unexpected one for better comparison, from Joe. 2) Add a sample program for collecting CPU state statistics with regards to how long the CPU resides in cstate and pstate levels. Based on cpu_idle and cpu_frequency trace points, from Leo. 3) Various x64 BPF JIT optimizations to further shrink the generated image size in order to make it more icache friendly. When tested on the Cilium generated programs, image size reduced by approx 4-5% in best case mainly due to how LLVM emits unsigned 32 bit constants, from Daniel. 4) Improvements and fixes on the BPF sockmap sample programs: i) fix the sockmap's Makefile to include nlattr.o for libbpf, ii) detach the sock ops programs from the cgroup before exit, from Prashant. 5) Avoid including xdp.h in filter.h by just forward declaring the struct xdp_rxq_info in filter.h, from Jesper. 6) Fix the BPF kselftests Makefile for cgroup_helpers.c by only declaring it a dependency for test_dev_cgroup.c but not every other test case where it is not needed, from Jesper. 7) Adjust rlimit RLIMIT_MEMLOCK for test_tcpbpf_user selftest since the default is insufficient for creating the 'global_map' used in the corresponding BPF program, from Yonghong. 8) Likewise, for the xdp_redirect sample, Tushar ran into the same when invoking xdp_redirect and xdp_monitor at the same time, therefore in order to have the sample generically work bump the limit here, too. Fix from Tushar. 9) Avoid an unnecessary NULL check in BPF_CGROUP_RUN_PROG_INET_SOCK() since sk is always guaranteed to be non-NULL, from Yafang. Please consider pulling these changes from: git://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next.git Thanks a lot! ---------------------------------------------------------------- The following changes since commit 153e1b84f477f716bc3f81e6cfae1a3d941fc7ec: selftests: Add FIB onlink tests (2018-02-13 14:47:33 -0500) are available in the git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next.git for you to fetch changes up to c53507778998d45543b27266742d04cd384de356: samples/bpf: Add program for CPU state statistics (2018-02-26 10:54:02 +0100) ---------------------------------------------------------------- Alexei Starovoitov (1): Merge branch 'x86-jit' Daniel Borkmann (7): Merge branch 'bpf-misc-selftest-improvements' bpf, x64: save one byte per shl/shr/sar when imm is 1 bpf, x64: save several bytes by using mov over movabsq when possible bpf, x64: save several bytes when mul dest is r0/r3 anyway bpf, x64: save few bytes when mul is in alu32 bpf, x64: save 5 bytes in prologue when ebpf insns came from cbpf bpf: add various jit test cases Jesper Dangaard Brouer (2): net: avoid including xdp.h in filter.h selftests/bpf: fix Makefile for cgroup_helpers.c Joe Stringer (4): selftests/bpf: Print unexpected output on fail selftests/bpf: Count tests skipped by unpriv selftests/bpf: Only run tests if !bpf_disabled bpf: Remove unused callee_saved array Leo Yan (1): samples/bpf: Add program for CPU state statistics Prashant Bhole (2): bpf: samples/sockmap fix Makefile for build error bpf: samples/sockmap detach sock ops program Tushar Dave (1): samples/bpf: adjust rlimit RLIMIT_MEMLOCK for xdp_redirect Yafang Shao (1): bpf: NULL pointer check is not needed in BPF_CGROUP_RUN_PROG_INET_SOCK Yonghong Song (1): tools/bpf: adjust rlimit RLIMIT_MEMLOCK for test_tcpbpf_user arch/x86/net/bpf_jit_comp.c | 219 +++++++++++-------- include/linux/bpf-cgroup.h | 2 +- include/linux/filter.h | 2 +- kernel/bpf/verifier.c | 4 - samples/bpf/Makefile | 4 + samples/bpf/cpustat_kern.c | 281 +++++++++++++++++++++++++ samples/bpf/cpustat_user.c | 219 +++++++++++++++++++ samples/bpf/xdp_redirect_user.c | 7 + samples/sockmap/Makefile | 2 +- samples/sockmap/sockmap_user.c | 1 + tools/testing/selftests/bpf/Makefile | 4 +- tools/testing/selftests/bpf/test_tcpbpf_user.c | 6 + tools/testing/selftests/bpf/test_verifier.c | 128 ++++++++++- 13 files changed, 779 insertions(+), 100 deletions(-) create mode 100644 samples/bpf/cpustat_kern.c create mode 100644 samples/bpf/cpustat_user.c