Message ID | cover.1609855479.git.sean@mess.org (mailing list archive) |
---|---|
Headers | show |
Series | btf: support ints larger than 128 bits | expand |
On Tue, Jan 05, 2021 at 02:45:30PM +0000, Sean Young wrote: > 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. 1. Please explain the use case. 2. All patches have the same commit message which is not useful. Please spend some time in the commit message to explain what each individual patch does. 3. The test_extint.py is mostly a copy-and-paste from the existing test_offload.py? Does it need most of the test_offload.py to test the BTF 256/512 bit int? Please create a minimal test and use the test_progs.c infra-structure.
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: - split patches into 4 distinct patches changes since v1: - added tests as suggested by Yonghong Song - added kernel pretty-printer Sean Young (4): btf: add support for ints larger than 128 bits libbpf: add support for ints larger than 128 bits bpftool: add support for ints larger than 128 bits bpf: add tests for ints larger than 128 bits 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 ++++++++++++++++++ 10 files changed, 679 insertions(+), 16 deletions(-) create mode 100644 tools/testing/selftests/bpf/progs/test_btf_extint.c create mode 100755 tools/testing/selftests/bpf/test_extint.py