Re: [PATCH bpf-next] [tools/bpf] add bpffs multi-dimensional array tests in test_btf

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, Mar 28, 2019 at 10:32 PM Yonghong Song <yhs@xxxxxx> wrote:
>
> For multiple dimensional arrays like below,
>   int a[2][3]
> both llvm and pahole generated one BTF_KIND_ARRAY type like
>   . element_type: int
>   . index_type: unsigned int
>   . number of elements: 6
>
> Such a collapsed BTF_KIND_ARRAY type will cause the divergence
> in BTF vs. the user code. In the compile-once-run-everywhere
> project, the header file is generated from BTF and used for bpf
> program, and the definition in the header file will be different
> from what user expects.
>
> But the kernel actually supports chained multi-dimensional array
> types properly. The above "int a[2][3]" can be represented as
>   Type #n:
>     . element_type: int
>     . index_type: unsigned int
>     . number of elements: 3
>   Type #(n+1):
>     . element_type: type #n
>     . index_type: unsigned int
>     . number of elements: 2
>
> The following llvm commit
>   https://reviews.llvm.org/rL357215
> also enables llvm to generated proper chained multi-dimensional arrays.
>
> The test_btf already has a raw test ("struct test #1") for chained
> multi-dimensional arrays. This patch added amended bpffs test for
> chained multi-dimensional arrays.
>
> Acked-by: Martin KaFai Lau <kafai@xxxxxx>
> Signed-off-by: Yonghong Song <yhs@xxxxxx>

Applied. Thanks



[Index of Archives]     [Linux Samsung SoC]     [Linux Rockchip SoC]     [Linux Actions SoC]     [Linux for Synopsys ARC Processors]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]


  Powered by Linux