[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