[cfe-dev] Adding clang extension support for BPF CO-RE relocation support

John McCall via cfe-dev cfe-dev at lists.llvm.org
Wed Jan 5 18:36:37 PST 2022


On 5 Jan 2022, at 14:52, Y Song wrote:
> On Mon, Jan 3, 2022 at 11:40 AM Aaron Ballman <aaron at aaronballman.com> 
> wrote:
>> On Mon, Dec 20, 2021 at 7:00 PM Y Song <ys114321 at gmail.com> wrote:
>>> Representation within the appropriate governing organization
>>> ============================================================
>>>
>>> N/A
>>
>> What organization determines things like the specification you posted
>> above, or is there no organization behind these efforts?
>
> The BPF foundation (https://ebpf.io/foundation/) is responsible for
> the specification. The general discussion (specification, loader
> implementation, etc.)
> also happened in mailing list https://lore.kernel.org/bpf/.

Okay, thanks, this is what we’re looking for here.

>>> A long-term support plan
>>> ========================
>>>
>>> The feature will be supported for ever.
>>
>> This is not a long term support plan. :-) When we have support needs
>> in the future, will there be people/a company/a community available 
>> to
>> do that work or is the expectation that once this lands, the Clang
>> community is responsible for it? (This matters with the above 
>> question
>> about the organization responsible for governing the specification --
>> can the Clang community do as they please here or do we need to
>> coordinate with others?)
>
> The best place probably is to engage with the mailing list
> https://lore.kernel.org/bpf/.
> People can also reach the bpf foundation for guidance/direction.

Okay.  Just so we know, I assume you’re part of the BPF community?
Are you doing this by yourself, or is there a larger institution
supporting your efforts (for example, a company or university)?

I’m sorry to pry, but we actually don’t have any information about
you except a gmail address. :)

>>> A high-quality implementation
>>> =============================
>>>
>>> All the above builtin's and attributes are reviewed properly before 
>>> merging.
>>
>> Are there other implementations of CO-RE in the wild that we should 
>> be
>> measuring against?
>
> No. Currently CO-RE is only available in clang.

Okay.  That’s fine.

>>> A test suite
>>> ============
>>>
>>> All new features are accompanied with necessary test cases.
>>
>> Are there any external ways we can verify the functionality? (A
>> conformance suite, some other implementation we can test against, 
>> etc)
>
> Yes, the kernel bpf selftests contains extensive testing for CO-RE.
> The following link has the information how to run selftests:
>   https://github.com/torvalds/linux/blob/master/Documentation/bpf/bpf_devel_QA.rst
> In the prog_tests directory
> (https://github.com/torvalds/linux/tree/master/tools/testing/selftests/bpf/prog_tests),
> we have the following CORE tests:
>   core_autosize.c  core_extern.c  core_kern.c  core_read_macros.c
> core_reloc.c  core_retro.c
>
> We also have builtbot (based on github workflow) to automatically pull
> in latest nightly llvm build
> and test it with various versions of bpf loader and the kernel.

Great, thanks.

John.


More information about the cfe-dev mailing list