Re: [PATCH v2 bpf-next 0/9] bpf: support BTF kind layout info, CRCs

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

 



On 17/06/2023 01:39, Alexei Starovoitov wrote:
> On Fri, Jun 16, 2023 at 06:17:18PM +0100, Alan Maguire wrote:
>> By separating parsing BTF from using all the information
>> it provides, we allow BTF to encode new features even if
>> they cannot be used.  This is helpful in particular for
>> cases where newer tools for BTF generation run on an
>> older kernel; BTF kinds may be present that the kernel
>> cannot yet use, but at least it can parse the BTF
>> provided.  Meanwhile userspace tools with newer libbpf
>> may be able to use the newer information.
> 
> Overall looks great, but
> why such narrow formatting? It's much less than 80.
> 
>>
>> The intent is to support encoding of kind layouts
>> optionally so that tools like pahole can add this
>> information.  So for each kind we record
>>
>> - kind-related flags
>> - length of singular element following struct btf_type
>> - length of each of the btf_vlen() elements following
>>
>> In addition we make space in the BTF header for
>> CRC32s computed over the BTF along with a CRC for
>> the base BTF; this allows split BTF to identify
>> a mismatch explicitly.
>>
>> The ideas here were discussed at [1], with further
>> discussion at [2].
>>
>> Future work can take more advantage of these features
>> such as
>>
>> - using base CRC to identify base/module BTF mismatch
>>   explicitly
>> - using absence of a base BTF CRC as evidence that
>>   BTF is standalone
> 
> That's fine to have as a follow up, but with BTF_FLAG_CRC_SET
> the kernel should check the crc.
> Calling crc32c on modern cpus should be plenty fast.
> It won't slow down btf verification.

Sure; I'll roll this into v3 and fix formatting and
the typo in btf.h. 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