[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20210917173738.3397064-1-ast@kernel.org>
Date: Fri, 17 Sep 2021 10:37:38 -0700
From: Alexei Starovoitov <ast@...nel.org>
To: <davem@...emloft.net>
CC: <daniel@...earbox.net>, <andrii@...nel.org>, <kuba@...nel.org>,
<netdev@...r.kernel.org>, <bpf@...r.kernel.org>,
<kernel-team@...com>
Subject: pull-request: bpf-next 2021-09-17
Hi David, hi Jakub,
The following pull-request contains BPF updates for your *net-next* tree.
We've added 63 non-merge commits during the last 12 day(s) which contain
a total of 65 files changed, 2653 insertions(+), 751 deletions(-).
The main changes are:
1) Streamline internal BPF program sections handling and
bpf_program__set_attach_target() in libbpf, from Andrii.
2) Add support for new btf kind BTF_KIND_TAG, from Yonghong.
3) Introduce bpf_get_branch_snapshot() to capture LBR, from Song.
4) IMUL optimization for x86-64 JIT, from Jie.
5) xsk selftest improvements, from Magnus.
6) Introduce legacy kprobe events support in libbpf, from Rafael.
7) Access hw timestamp through BPF's __sk_buff, from Vadim.
Please consider pulling these changes from:
git://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next.git
Thanks a lot!
Also thanks to reporters, reviewers and testers of commits in this pull-request:
Andrii Nakryiko, Johan Almbladh, John Fastabend, Maciej Fijalkowski,
Martin KaFai Lau, Paul Chaignon, Peter Zijlstra (Intel), Tiezhu Yang,
Yonghong Song
----------------------------------------------------------------
The following changes since commit 27151f177827d478508e756c7657273261aaf8a9:
Merge tag 'perf-tools-for-v5.15-2021-09-04' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux (2021-09-05 11:56:18 -0700)
are available in the Git repository at:
https://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next.git
for you to fetch changes up to ca21a3e5edfd47c90141724557f9d6f5000e46f3:
selftests/bpf: Fix a few compiler warnings (2021-09-17 09:10:54 -0700)
----------------------------------------------------------------
Alexei Starovoitov (4):
Merge branch 'bpf: introduce bpf_get_branch_snapshot'
Merge branch 'libbpf: Streamline internal BPF program sections handling'
Merge branch 'bpf: add support for new btf kind BTF_KIND_TAG'
Merge branch 'Improve set_attach_target() and deprecate open_opts.attach_prog_fd'
Andrii Nakryiko (15):
Merge branch 'Bpf skeleton helper method'
libbpf: Fix build with latest gcc/binutils with LTO
libbpf: Make libbpf_version.h non-auto-generated
selftests/bpf: Update selftests to always provide "struct_ops" SEC
libbpf: Ensure BPF prog types are set before relocations
libbpf: Simplify BPF program auto-attach code
libbpf: Minimize explicit iterator of section definition array
selftests/bpf: Fix .gitignore to not ignore test_progs.c
libbpf: Use pre-setup sec_def in libbpf_find_attach_btf_id()
selftests/bpf: Stop using relaxed_core_relocs which has no effect
libbpf: Deprecated bpf_object_open_opts.relaxed_core_relocs
libbpf: Allow skipping attach_func_name in bpf_program__set_attach_target()
selftests/bpf: Switch fexit_bpf2bpf selftest to set_attach_target() API
libbpf: Schedule open_opts.attach_prog_fd deprecation since v0.7
libbpf: Constify all high-level program attach APIs
Daniel Borkmann (2):
Merge branch 'bpf-xsk-selftests'
bpf, selftests: Replicate tailcall limit test for indirect call case
Grant Seltzer (1):
libbpf: Add sphinx code documentation comments
Jie Meng (1):
bpf,x64 Emit IMUL instead of MUL for x86-64
Magnus Karlsson (20):
selftests: xsk: Simplify xsk and umem arrays
selftests: xsk: Introduce type for thread function
selftests: xsk: Introduce test specifications
selftests: xsk: Move num_frames and frame_headroom to xsk_umem_info
selftests: xsk: Move rxqsize into xsk_socket_info
selftests: xsk: Make frame_size configurable
selftests: xsx: Introduce test name in test spec
selftests: xsk: Add use_poll to ifobject
selftests: xsk: Introduce rx_on and tx_on in ifobject
selftests: xsk: Replace second_step global variable
selftests: xsk: Specify number of sockets to create
selftests: xsk: Make xdp_flags and bind_flags local
selftests: xsx: Make pthreads local scope
selftests: xsk: Eliminate MAX_SOCKS define
selftests: xsk: Allow for invalid packets
selftests: xsk: Introduce replacing the default packet stream
selftests: xsk: Add test for unaligned mode
selftests: xsk: Eliminate test specific if-statement in test runner
selftests: xsk: Add tests for invalid xsk descriptors
selftests: xsk: Add tests for 2K frame size
Matt Smith (3):
libbpf: Change bpf_object_skeleton data field to const pointer
bpftool: Provide a helper method for accessing skeleton's embedded ELF data
selftests/bpf: Add checks for X__elf_bytes() skeleton helper
Matteo Croce (1):
bpf: Update bpf_get_smp_processor_id() documentation
Neil Spring (1):
bpf: Permit ingress_ifindex in bpf_prog_test_run_xattr
Quentin Monnet (1):
libbpf: Add LIBBPF_DEPRECATED_SINCE macro for scheduling API deprecations
Rafael David Tinoco (1):
libbpf: Introduce legacy kprobe events support
Song Liu (3):
perf: Enable branch record for software events
bpf: Introduce helper bpf_get_branch_snapshot
selftests/bpf: Add test for bpf_get_branch_snapshot
Toke Høiland-Jørgensen (1):
libbpf: Don't crash on object files with no symbol tables
Vadim Fedorenko (2):
bpf: Add hardware timestamp field to __sk_buff
selftests/bpf: Test new __sk_buff field hwtstamp
Yonghong Song (13):
btf: Change BTF_KIND_* macros to enums
bpf: Support for new btf kind BTF_KIND_TAG
libbpf: Rename btf_{hash,equal}_int to btf_{hash,equal}_int_tag
libbpf: Add support for BTF_KIND_TAG
bpftool: Add support for BTF_KIND_TAG
selftests/bpf: Test libbpf API function btf__add_tag()
selftests/bpf: Change NAME_NTH/IS_NAME_NTH for BTF_KIND_TAG format
selftests/bpf: Add BTF_KIND_TAG unit tests
selftests/bpf: Test BTF_KIND_TAG for deduplication
selftests/bpf: Add a test with a bpf program with btf_tag attributes
docs/bpf: Add documentation for BTF_KIND_TAG
selftests/bpf: Skip btf_tag test if btf_tag attribute not supported
selftests/bpf: Fix a few compiler warnings
Documentation/bpf/btf.rst | 29 +-
arch/x86/events/intel/core.c | 67 +-
arch/x86/events/intel/ds.c | 2 +-
arch/x86/events/intel/lbr.c | 20 +-
arch/x86/events/perf_event.h | 19 +
arch/x86/net/bpf_jit_comp.c | 53 +-
include/linux/perf_event.h | 23 +
include/uapi/linux/bpf.h | 26 +-
include/uapi/linux/btf.h | 55 +-
kernel/bpf/btf.c | 128 +++
kernel/bpf/trampoline.c | 3 +-
kernel/events/core.c | 2 +
kernel/trace/bpf_trace.c | 30 +
lib/test_bpf.c | 1 +
net/bpf/test_run.c | 16 +-
net/core/filter.c | 21 +
tools/bpf/bpftool/Makefile | 3 +
tools/bpf/bpftool/btf.c | 12 +
tools/bpf/bpftool/gen.c | 31 +-
tools/bpf/resolve_btfids/Makefile | 5 +-
tools/include/uapi/linux/bpf.h | 26 +-
tools/include/uapi/linux/btf.h | 55 +-
tools/lib/bpf/.gitignore | 1 -
tools/lib/bpf/Makefile | 39 +-
tools/lib/bpf/btf.c | 84 +-
tools/lib/bpf/btf.h | 87 ++
tools/lib/bpf/btf_dump.c | 3 +
tools/lib/bpf/libbpf.c | 431 ++++++----
tools/lib/bpf/libbpf.h | 41 +-
tools/lib/bpf/libbpf.map | 5 +
tools/lib/bpf/libbpf_common.h | 24 +
tools/lib/bpf/libbpf_internal.h | 27 +-
tools/lib/bpf/libbpf_version.h | 9 +
tools/lib/bpf/xsk.c | 4 +-
tools/testing/selftests/bpf/.gitignore | 5 +-
tools/testing/selftests/bpf/Makefile | 4 +-
tools/testing/selftests/bpf/README.rst | 14 +
.../selftests/bpf/bpf_testmod/bpf_testmod.c | 19 +-
tools/testing/selftests/bpf/btf_helpers.c | 7 +-
tools/testing/selftests/bpf/prog_tests/bpf_iter.c | 6 +-
tools/testing/selftests/bpf/prog_tests/btf.c | 441 ++++++++++-
tools/testing/selftests/bpf/prog_tests/btf_tag.c | 20 +
tools/testing/selftests/bpf/prog_tests/btf_write.c | 21 +
.../testing/selftests/bpf/prog_tests/core_reloc.c | 17 +-
.../selftests/bpf/prog_tests/fexit_bpf2bpf.c | 43 +-
.../selftests/bpf/prog_tests/get_branch_snapshot.c | 100 +++
.../selftests/bpf/prog_tests/module_attach.c | 39 -
tools/testing/selftests/bpf/prog_tests/skb_ctx.c | 6 +
tools/testing/selftests/bpf/prog_tests/skeleton.c | 6 +
tools/testing/selftests/bpf/prog_tests/tailcalls.c | 25 +-
.../testing/selftests/bpf/prog_tests/tc_redirect.c | 2 +-
tools/testing/selftests/bpf/progs/bpf_cubic.c | 12 +-
.../selftests/bpf/progs/get_branch_snapshot.c | 40 +
tools/testing/selftests/bpf/progs/tag.c | 49 ++
tools/testing/selftests/bpf/progs/tailcall6.c | 34 +
tools/testing/selftests/bpf/progs/test_skb_ctx.c | 6 +
tools/testing/selftests/bpf/test_btf.h | 3 +
tools/testing/selftests/bpf/test_progs.c | 39 +
tools/testing/selftests/bpf/test_progs.h | 2 +
tools/testing/selftests/bpf/trace_helpers.c | 37 +
tools/testing/selftests/bpf/trace_helpers.h | 5 +
tools/testing/selftests/bpf/verifier/ctx_skb.c | 60 ++
tools/testing/selftests/bpf/verifier/jit.c | 22 +-
tools/testing/selftests/bpf/xdpxceiver.c | 872 ++++++++++++++-------
tools/testing/selftests/bpf/xdpxceiver.h | 66 +-
65 files changed, 2653 insertions(+), 751 deletions(-)
create mode 100644 tools/lib/bpf/libbpf_version.h
create mode 100644 tools/testing/selftests/bpf/prog_tests/btf_tag.c
create mode 100644 tools/testing/selftests/bpf/prog_tests/get_branch_snapshot.c
create mode 100644 tools/testing/selftests/bpf/progs/get_branch_snapshot.c
create mode 100644 tools/testing/selftests/bpf/progs/tag.c
create mode 100644 tools/testing/selftests/bpf/progs/tailcall6.c
Powered by blists - more mailing lists