All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH RFC 0/6] Add BTF_KIND_FLOAT support
@ 2021-02-10  3:03 Ilya Leoshkevich
  2021-02-10  3:03 ` [PATCH RFC 1/6] bpf: Add BTF_KIND_FLOAT to uapi Ilya Leoshkevich
                   ` (6 more replies)
  0 siblings, 7 replies; 13+ messages in thread
From: Ilya Leoshkevich @ 2021-02-10  3:03 UTC (permalink / raw)
  To: Alexei Starovoitov, Daniel Borkmann, Andrii Nakryiko,
	Yonghong Song, Arnaldo Carvalho de Melo
  Cc: bpf, Heiko Carstens, Vasily Gorbik, Ilya Leoshkevich

Some BPF programs compiled on s390 fail to load, because s390
arch-specific linux headers contain float and double types.
    
Introduce support for such types by representing them using the new
BTF_KIND_FLOAT. This series deals with libbpf, bpftool, in-kernel BTF
parser as well as selftests and documentation.

There are also pahole and LLVM parts:

* https://github.com/iii-i/dwarves/commit/btf-kind-float-v1
* https://reviews.llvm.org/D83289

but they should go in after the libbpf part is integrated.

There is also an open question: should we go forward with
BTF_KIND_FLOAT, or should this be merely a BTF_KIND_INT encoding? The
argument for BTF_KIND_FLOAT is that it's more explicit and therefore
less prone to unintentional mixups. The argument for BTF_KIND_INT
encoding is that there would be less code and the overall integration
process would be simpler.

Ilya Leoshkevich (6):
  bpf: Add BTF_KIND_FLOAT to uapi
  libbpf: Add BTF_KIND_FLOAT support
  tools/bpftool: Add BTF_KIND_FLOAT support
  bpf: Add BTF_KIND_FLOAT support
  selftest/bpf: Add BTF_KIND_FLOAT tests
  bpf: Document BTF_KIND_FLOAT in btf.rst

 Documentation/bpf/btf.rst                    |  19 ++-
 include/uapi/linux/btf.h                     |  10 +-
 kernel/bpf/btf.c                             | 101 ++++++++++++-
 tools/bpf/bpftool/btf.c                      |  13 ++
 tools/bpf/bpftool/btf_dumper.c               |   1 +
 tools/include/uapi/linux/btf.h               |  10 +-
 tools/lib/bpf/btf.c                          |  85 ++++++++---
 tools/lib/bpf/btf.h                          |  13 ++
 tools/lib/bpf/btf_dump.c                     |   4 +
 tools/lib/bpf/libbpf.c                       |  32 +++-
 tools/lib/bpf/libbpf.map                     |   5 +
 tools/lib/bpf/libbpf_internal.h              |   4 +
 tools/testing/selftests/bpf/btf_helpers.c    |   4 +
 tools/testing/selftests/bpf/prog_tests/btf.c | 145 +++++++++++++++++++
 tools/testing/selftests/bpf/test_btf.h       |   5 +
 15 files changed, 418 insertions(+), 33 deletions(-)

-- 
2.29.2


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

end of thread, other threads:[~2021-02-11 23:12 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-02-10  3:03 [PATCH RFC 0/6] Add BTF_KIND_FLOAT support Ilya Leoshkevich
2021-02-10  3:03 ` [PATCH RFC 1/6] bpf: Add BTF_KIND_FLOAT to uapi Ilya Leoshkevich
2021-02-11  0:19   ` Andrii Nakryiko
2021-02-11 21:26     ` Ilya Leoshkevich
2021-02-11 23:11       ` Alexei Starovoitov
2021-02-10  3:03 ` [PATCH RFC 2/6] libbpf: Add BTF_KIND_FLOAT support Ilya Leoshkevich
2021-02-11  0:15   ` Andrii Nakryiko
2021-02-10  3:03 ` [PATCH RFC 3/6] tools/bpftool: " Ilya Leoshkevich
2021-02-10  3:03 ` [PATCH RFC 4/6] bpf: " Ilya Leoshkevich
2021-02-11  0:20   ` Andrii Nakryiko
2021-02-10  3:03 ` [PATCH RFC 5/6] selftest/bpf: Add BTF_KIND_FLOAT tests Ilya Leoshkevich
2021-02-10  3:03 ` [PATCH RFC 6/6] bpf: Document BTF_KIND_FLOAT in btf.rst Ilya Leoshkevich
2021-02-11  1:31 ` [PATCH RFC 0/6] Add BTF_KIND_FLOAT support Andrii Nakryiko

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.