From: Jiri Olsa <jolsa@kernel.org>
To: Alexei Starovoitov <ast@kernel.org>,
Daniel Borkmann <daniel@iogearbox.net>,
Andrii Nakryiko <andriin@fb.com>
Cc: netdev@vger.kernel.org, bpf@vger.kernel.org
Subject: [PATCH v7 bpf-next 0/9] bpf: Add d_path helper - preparation changes
Date: Sat, 11 Jul 2020 23:53:20 +0200 [thread overview]
Message-ID: <20200711215329.41165-1-jolsa@kernel.org> (raw)
hi,
this patchset does preparation work for adding d_path helper,
which still needs more work, but the initial set of patches
is ready and useful to have.
This patchset adds:
- support to generate BTF ID lists that are resolved during
kernel linking and usable within kernel code with following
macros:
BTF_ID_LIST(bpf_skb_output_btf_ids)
BTF_ID(struct, sk_buff)
and access it in kernel code via:
extern u32 bpf_skb_output_btf_ids[];
- resolve_btfids tool that scans elf object for .BTF_ids
section and resolves its symbols with BTF ID values
- resolving of bpf_ctx_convert struct and several other
objects with BTF_ID_LIST
v7 changes:
- added more acks [Andrii]
- added some name-conflicting entries and fixed resolve_btfids
to process them properly [Andrii]
- changed bpf_get_task_stack_proto to use BTF_IDS_LIST/BTF_ID
macros [Andrii]
- fixed selftest build for resolve_btfids test
Also available at:
https://git.kernel.org/pub/scm/linux/kernel/git/jolsa/perf.git
bpf/d_path
thanks,
jirka
---
Jiri Olsa (9):
bpf: Add resolve_btfids tool to resolve BTF IDs in ELF object
bpf: Compile resolve_btfids tool at kernel compilation start
bpf: Add BTF_ID_LIST/BTF_ID/BTF_ID_UNUSED macros
bpf: Resolve BTF IDs in vmlinux image
bpf: Remove btf_id helpers resolving
bpf: Use BTF_ID to resolve bpf_ctx_convert struct
bpf: Add info about .BTF_ids section to btf.rst
tools headers: Adopt verbatim copy of btf_ids.h from kernel sources
selftests/bpf: Add test for resolve_btfids
Documentation/bpf/btf.rst | 36 +++++
Makefile | 25 +++-
include/asm-generic/vmlinux.lds.h | 4 +
include/linux/btf_ids.h | 87 ++++++++++++
kernel/bpf/btf.c | 103 ++------------
kernel/bpf/stackmap.c | 5 +-
kernel/trace/bpf_trace.c | 9 +-
net/core/filter.c | 9 +-
scripts/link-vmlinux.sh | 6 +
tools/Makefile | 3 +
tools/bpf/Makefile | 9 +-
tools/bpf/resolve_btfids/Build | 10 ++
tools/bpf/resolve_btfids/Makefile | 77 +++++++++++
tools/bpf/resolve_btfids/main.c | 721 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tools/include/linux/btf_ids.h | 87 ++++++++++++
tools/include/linux/compiler.h | 4 +
tools/testing/selftests/bpf/Makefile | 15 +-
tools/testing/selftests/bpf/prog_tests/resolve_btfids.c | 111 +++++++++++++++
tools/testing/selftests/bpf/progs/btf_data.c | 50 +++++++
19 files changed, 1267 insertions(+), 104 deletions(-)
create mode 100644 include/linux/btf_ids.h
create mode 100644 tools/bpf/resolve_btfids/Build
create mode 100644 tools/bpf/resolve_btfids/Makefile
create mode 100644 tools/bpf/resolve_btfids/main.c
create mode 100644 tools/include/linux/btf_ids.h
create mode 100644 tools/testing/selftests/bpf/prog_tests/resolve_btfids.c
create mode 100644 tools/testing/selftests/bpf/progs/btf_data.c
next reply other threads:[~2020-07-11 21:53 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-07-11 21:53 Jiri Olsa [this message]
2020-07-11 21:53 ` [PATCH v7 bpf-next 1/9] bpf: Add resolve_btfids tool to resolve BTF IDs in ELF object Jiri Olsa
2020-07-11 21:53 ` [PATCH v7 bpf-next 2/9] bpf: Compile resolve_btfids tool at kernel compilation start Jiri Olsa
2020-07-11 21:53 ` [PATCH v7 bpf-next 3/9] bpf: Add BTF_ID_LIST/BTF_ID/BTF_ID_UNUSED macros Jiri Olsa
2020-07-11 21:53 ` [PATCH v7 bpf-next 4/9] bpf: Resolve BTF IDs in vmlinux image Jiri Olsa
2020-07-11 21:53 ` [PATCH v7 bpf-next 5/9] bpf: Remove btf_id helpers resolving Jiri Olsa
2020-07-11 21:53 ` [PATCH v7 bpf-next 6/9] bpf: Use BTF_ID to resolve bpf_ctx_convert struct Jiri Olsa
2020-07-11 21:53 ` [PATCH v7 bpf-next 7/9] bpf: Add info about .BTF_ids section to btf.rst Jiri Olsa
2020-07-11 21:53 ` [PATCH v7 bpf-next 8/9] tools headers: Adopt verbatim copy of btf_ids.h from kernel sources Jiri Olsa
2020-07-11 21:53 ` [PATCH v7 bpf-next 9/9] selftests/bpf: Add test for resolve_btfids Jiri Olsa
2020-07-13 22:07 ` [PATCH v7 bpf-next 0/9] bpf: Add d_path helper - preparation changes Alexei Starovoitov
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=20200711215329.41165-1-jolsa@kernel.org \
--to=jolsa@kernel.org \
--cc=andriin@fb.com \
--cc=ast@kernel.org \
--cc=bpf@vger.kernel.org \
--cc=daniel@iogearbox.net \
--cc=netdev@vger.kernel.org \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.