From: Sean Young <sean@mess.org>
To: "Yonghong Song" <yhs@fb.com>,
"Alexei Starovoitov" <ast@kernel.org>,
"Daniel Borkmann" <daniel@iogearbox.net>,
"Andrii Nakryiko" <andrii@kernel.org>,
"Martin KaFai Lau" <kafai@fb.com>,
"Song Liu" <songliubraving@fb.com>,
"John Fastabend" <john.fastabend@gmail.com>,
"KP Singh" <kpsingh@kernel.org>,
"Nathan Chancellor" <natechancellor@gmail.com>,
"Nick Desaulniers" <ndesaulniers@google.com>,
"Quentin Monnet" <quentin@isovalent.com>,
"Toke Høiland-Jørgensen" <toke@redhat.com>,
linux-doc@vger.kernel.org, netdev@vger.kernel.org,
bpf@vger.kernel.org, linux-kernel@vger.kernel.org,
clang-built-linux@googlegroups.com
Subject: [PATCH v3 0/4] btf: support ints larger than 128 bits
Date: Tue, 5 Jan 2021 14:45:30 +0000 [thread overview]
Message-ID: <cover.1609855479.git.sean@mess.org> (raw)
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
--
2.29.2
next reply other threads:[~2021-01-05 14:47 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-01-05 14:45 Sean Young [this message]
2021-01-05 14:45 ` [PATCH v3 1/4] btf: add support for ints larger than 128 bits Sean Young
2021-01-06 5:10 ` Andrii Nakryiko
2021-01-06 5:16 ` Andrii Nakryiko
2021-01-05 14:45 ` [PATCH v3 2/4] libbpf: " Sean Young
2021-01-05 14:45 ` [PATCH v3 3/4] bpftool: " Sean Young
2021-01-06 5:13 ` Andrii Nakryiko
2021-01-05 14:45 ` [PATCH v3 4/4] bpf: add tests " Sean Young
2021-01-06 5:26 ` Andrii Nakryiko
2021-01-05 19:51 ` [PATCH v3 0/4] btf: support " Martin KaFai Lau
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=cover.1609855479.git.sean@mess.org \
--to=sean@mess.org \
--cc=andrii@kernel.org \
--cc=ast@kernel.org \
--cc=bpf@vger.kernel.org \
--cc=clang-built-linux@googlegroups.com \
--cc=daniel@iogearbox.net \
--cc=john.fastabend@gmail.com \
--cc=kafai@fb.com \
--cc=kpsingh@kernel.org \
--cc=linux-doc@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=natechancellor@gmail.com \
--cc=ndesaulniers@google.com \
--cc=netdev@vger.kernel.org \
--cc=quentin@isovalent.com \
--cc=songliubraving@fb.com \
--cc=toke@redhat.com \
--cc=yhs@fb.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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.