netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH bpf-next 00/10] BTF: BPF Type Format
@ 2018-03-30 18:26 Martin KaFai Lau
  2018-03-30 18:26 ` [PATCH bpf-next 01/10] bpf: btf: Introduce BPF Type Format (BTF) Martin KaFai Lau
                   ` (10 more replies)
  0 siblings, 11 replies; 20+ messages in thread
From: Martin KaFai Lau @ 2018-03-30 18:26 UTC (permalink / raw)
  To: netdev; +Cc: Alexei Starovoitov, Daniel Borkmann, kernel-team

This patch introduces BPF Type Format (BTF).

BTF (BPF Type Format) is the meta data format which describes
the data types of BPF program/map.  Hence, it basically focus
on the C programming language which the modern BPF is primary
using.  The first use case is to provide a generic pretty print
capability for a BPF map.

A modified pahole that can convert dwarf to BTF is here:
https://github.com/iamkafai/pahole/tree/btf

Please see individual patch for details.

Martin KaFai Lau (10):
  bpf: btf: Introduce BPF Type Format (BTF)
  bpf: btf: Validate type reference
  bpf: btf: Check members of struct/union
  bpf: btf: Add pretty print capability for data with BTF type info
  bpf: btf: Add BPF_BTF_LOAD command
  bpf: btf: Add BPF_OBJ_GET_INFO_BY_FD support to BTF fd
  bpf: btf: Add pretty print support to the basic arraymap
  bpf: btf: Sync bpf.h and btf.h to tools/
  bpf: btf: Add BTF support to libbpf
  bpf: btf: Add BTF tests

 include/linux/bpf.h                          |   20 +-
 include/linux/btf.h                          |   48 +
 include/uapi/linux/bpf.h                     |   12 +
 include/uapi/linux/btf.h                     |  132 ++
 kernel/bpf/Makefile                          |    1 +
 kernel/bpf/arraymap.c                        |   50 +
 kernel/bpf/btf.c                             | 2064 ++++++++++++++++++++++++++
 kernel/bpf/inode.c                           |  146 +-
 kernel/bpf/syscall.c                         |   51 +-
 tools/include/uapi/linux/bpf.h               |   13 +
 tools/include/uapi/linux/btf.h               |  132 ++
 tools/lib/bpf/Build                          |    2 +-
 tools/lib/bpf/bpf.c                          |   92 +-
 tools/lib/bpf/bpf.h                          |   16 +
 tools/lib/bpf/btf.c                          |  377 +++++
 tools/lib/bpf/btf.h                          |   22 +
 tools/lib/bpf/libbpf.c                       |  148 +-
 tools/lib/bpf/libbpf.h                       |    3 +
 tools/testing/selftests/bpf/Makefile         |   25 +-
 tools/testing/selftests/bpf/test_btf.c       | 1539 +++++++++++++++++++
 tools/testing/selftests/bpf/test_btf_haskv.c |   48 +
 tools/testing/selftests/bpf/test_btf_nokv.c  |   43 +
 22 files changed, 4943 insertions(+), 41 deletions(-)
 create mode 100644 include/linux/btf.h
 create mode 100644 include/uapi/linux/btf.h
 create mode 100644 kernel/bpf/btf.c
 create mode 100644 tools/include/uapi/linux/btf.h
 create mode 100644 tools/lib/bpf/btf.c
 create mode 100644 tools/lib/bpf/btf.h
 create mode 100644 tools/testing/selftests/bpf/test_btf.c
 create mode 100644 tools/testing/selftests/bpf/test_btf_haskv.c
 create mode 100644 tools/testing/selftests/bpf/test_btf_nokv.c

-- 
2.9.5

^ permalink raw reply	[flat|nested] 20+ messages in thread

end of thread, other threads:[~2018-04-03 19:30 UTC | newest]

Thread overview: 20+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-03-30 18:26 [PATCH bpf-next 00/10] BTF: BPF Type Format Martin KaFai Lau
2018-03-30 18:26 ` [PATCH bpf-next 01/10] bpf: btf: Introduce BPF Type Format (BTF) Martin KaFai Lau
2018-03-30 23:22   ` Daniel Borkmann
2018-03-30 23:32     ` Martin KaFai Lau
2018-03-31  8:43   ` kbuild test robot
2018-03-31 15:45     ` Martin KaFai Lau
2018-03-31  8:43   ` [RFC PATCH] bpf: btf: enum_ops can be static kbuild test robot
2018-03-30 18:26 ` [PATCH bpf-next 02/10] bpf: btf: Validate type reference Martin KaFai Lau
2018-03-30 18:26 ` [PATCH bpf-next 03/10] bpf: btf: Check members of struct/union Martin KaFai Lau
2018-03-30 18:26 ` [PATCH bpf-next 04/10] bpf: btf: Add pretty print capability for data with BTF type info Martin KaFai Lau
2018-03-30 18:26 ` [PATCH bpf-next 05/10] bpf: btf: Add BPF_BTF_LOAD command Martin KaFai Lau
2018-03-30 18:26 ` [PATCH bpf-next 06/10] bpf: btf: Add BPF_OBJ_GET_INFO_BY_FD support to BTF fd Martin KaFai Lau
2018-03-30 18:26 ` [PATCH bpf-next 07/10] bpf: btf: Add pretty print support to the basic arraymap Martin KaFai Lau
2018-03-31  9:12   ` [RFC PATCH] bpf: btf: map_seq_next() can be static kbuild test robot
2018-03-31  9:12   ` [PATCH bpf-next 07/10] bpf: btf: Add pretty print support to the basic arraymap kbuild test robot
2018-03-31 15:45     ` Martin KaFai Lau
2018-03-30 18:26 ` [PATCH bpf-next 08/10] bpf: btf: Sync bpf.h and btf.h to tools/ Martin KaFai Lau
2018-03-30 18:26 ` [PATCH bpf-next 09/10] bpf: btf: Add BTF support to libbpf Martin KaFai Lau
2018-03-30 18:26 ` [PATCH bpf-next 10/10] bpf: btf: Add BTF tests Martin KaFai Lau
2018-04-03 19:30 ` [PATCH bpf-next 00/10] BTF: BPF Type Format Arnaldo Carvalho de Melo

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).