() On Mon, Jan 9, 2023 at 9:47 AM Andrii Nakryiko <andrii.nakryiko@xxxxxxxxx> wrote: > > On Thu, Jan 5, 2023 at 6:54 PM Alexei Starovoitov > <alexei.starovoitov@xxxxxxxxx> wrote: > > > > On Thu, Jan 05, 2023 at 01:01:56PM -0800, Andrii Nakryiko wrote: > > > Didn't find the best place to put this, so it will be here. I think it > > > would be beneficial to discuss BPF helpers freeze in BPF office hours. > > > So I took the liberty to put it up for next BPF office hours, 9am, Jan > > > 12th 2022. I hope that some more people that have exposure to > > > real-world BPF application and pains associated with all that could > > > join the discussion, but obviously anyone is welcome as well, no > > > matter which way they are leaning. > > > > > > Please consider joining, see details on Zoom meeting at [0] > > > > > > For the rest, please see below. I'll be out for a few days and won't > > > be able to reply, my apologies. > > > > > > [0] https://docs.google.com/spreadsheets/d/1LfrDXZ9-fdhvPEp_LHkxAMYyxxpwBXjywWa0AejEveU/edit#gid=0 > > > > Thanks for adding it to the agenda. > > Hopefully we'll be able to converge faster on a call. > > Yep, hopefully. Looking forward to BPF office hours this week. > > > > > There are several things to discuss: > > 1. whether or not to freeze helpers. > > 2. whether dynptr accessors should be helpers or kfuncs. > > 3. whether your future inline iterators should be helpers or kfuncs. > > 4. whether cilium's bpf_sock_destroy should be helper or kfunc. I think these are all big questions. Maybe we can start with some smaller questions? Here is a list of questions I have: 1. Do we want stable kfuncs (as stable as helpers)? Do we want almost stable kfuncs? Will most users of stable APIs be as happy with almost stable alternatives? 2. Do we decide the stability of a kfunc when it is first added? Or do we plan to promote (maybe also demote?) stability later? 3. Besides stability, what are the concerns with kfuncs? How hard is it to resolve them? AFAICT, the concerns are: require BTF, require trampoline. Anything else? I guess we will never remove BTF dependency. Trampoline dependency is hard to resolve, but still possible? 4. We have feature-rich BPF with Linux-x86_64. Do we need some bare-minimal BPF, say for Linux-MIPS, or Windows-ARM, or even nvme-something? I guess this is also related to the BPF standard? Thanks, Song