Thread (3 messages) 3 messages, 2 authors, 2021-01-05

Re: [PATCH v2] btf: support ints larger than 128 bits

From: Sean Young <sean@mess.org>
Date: 2021-01-05 13:58:53
Also in: bpf, linux-doc, lkml

On Wed, Dec 30, 2020 at 10:21:09AM -0800, Yonghong Song wrote:
On 12/19/20 8:36 AM, Sean Young wrote:
quoted
clang supports arbitrary length ints using the _ExtInt extension. This
can be useful to hold very large values, e.g. 256 bit or 512 bit types.

Larger types (e.g. 1024 bits) are possible but I am unaware of a use
case for these.

This requires the _ExtInt extension enabled in clang, which is under
review.

Link: https://clang.llvm.org/docs/LanguageExtensions.html#extended-integer-types
Link: https://reviews.llvm.org/D93103

Signed-off-by: Sean Young <sean@mess.org>
---
changes since v2:
  - added tests as suggested by Yonghong Song
  - added kernel pretty-printer

  Documentation/bpf/btf.rst                     |   4 +-
  include/uapi/linux/btf.h                      |   2 +-
  kernel/bpf/btf.c                              |  54 +-
  tools/bpf/bpftool/btf_dumper.c                |  40 ++
  tools/include/uapi/linux/btf.h                |   2 +-
  tools/lib/bpf/btf.c                           |   2 +-
  tools/testing/selftests/bpf/Makefile          |   3 +-
  tools/testing/selftests/bpf/prog_tests/btf.c  |   3 +-
  .../selftests/bpf/progs/test_btf_extint.c     |  50 ++
  tools/testing/selftests/bpf/test_extint.py    | 535 ++++++++++++++++++
For easier review, maybe you can break this patch into a patch series like
below?
  patch 1 (kernel related changes and doc)
      kernel/bpf/btf.c, include/uapi/linux/btf.h,
      tools/include/uapi/linux/btf.h
      Documentation/bpf/btf.rst
  patch 2 (libbpf support)
      tools/lib/bpf/btf.c
  patch 3 (bpftool support)
      tools/bpf/bpftool/btf_dumper.c
  patch 4 (testing)
      rest files
That makes sense, I'll send out v3 shortly.

Thanks,

Sean
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help