All of lore.kernel.org
 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   ` kbuild test robot
2018-03-31 15:45     ` Martin KaFai Lau
2018-03-31  9:12   ` [RFC PATCH] bpf: btf: map_seq_next() can be static kbuild test robot
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 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.