On 01/16/2019 02:07 AM, Yonghong Song wrote: > Previous maximum supported integer bit width is 64. But > the __int128 type has been supported by most (if not all) > 64bit architectures including bpf for both gcc and clang. > > The kernel itself uses __int128 for x64 and arm64. Some bcc tools > are using __int128 in bpf programs to describe ipv6 addresses. > Without 128bit int support, the vmlinux BTF won't work and > those bpf programs using __int128 cannot utilize BTF. > > This patch set implemented BTF __int128 support. > Patch #1 added __int128 support in the kernel. > Patch #2 added raw test for __int128 in test_btf. > Patch #3 refactored test_btf bpffs pretty print test to > allow different map value structures. > Patch #4 added bpffs pretty print test for __int128. > Patch #5 added __int128 support in bpftool map pretty dumper. > > Yonghong Song (5): > bpf: btf: support 128 bit integer type > tools/bpf: add int128 raw test in test_btf > tools/bpf: refactor test_btf pretty printing for multiple map value > formats > tools/bpf: add bpffs pretty print test for int128 > tools/bpf: support __int128 in bpftool map pretty dumper > > kernel/bpf/btf.c | 104 +++++++-- > tools/bpf/bpftool/btf_dumper.c | 98 +++++++-- > tools/testing/selftests/bpf/test_btf.c | 284 +++++++++++++++++++++---- > 3 files changed, 418 insertions(+), 68 deletions(-)
Applied, thanks!