Re:Unlocking eBPF power
by tifadg1 on Thursday October 08, 2020 @08:04AM
(#24718314)
It seems like a very cool thing, that's mostly inaccessible, due to being so archaic, to non kernel programmers.
[ Parent
| on HN ]
Re:Unlocking eBPF power
by londons_explore on Thursday October 08, 2020 @09:16AM
(#24718810)
Time to write JSeBPF, the new web API allowing kernel-side javascript...
You joke, but BPF is frequently likened to JavaScript: it's a small, limited language that runs relatively safely in a sandbox in order to extend the behaviour of existing functionality.
Re:Unlocking eBPF power
by boston_sre87 on Thursday October 08, 2020 @01:27PM
(#24721479)
Brendan Gregg (the guy that gave that talk that the article linked to) wrote an extremely awesome book called systems performance. It is the best and most pragmatic operating system book I've read and is definitely worth a read. It will give you a better idea about how all of this eBPF stuff applies.
Re:Unlocking eBPF power
by alexgartrell on Thursday October 08, 2020 @09:35AM
(#24718959)
I work with some of the maintainers of bpf, bpftrace, etc. What can we do to make this stuff more accessible?
Re:Unlocking eBPF power
by rtkaratekid on Thursday October 08, 2020 @11:13AM
(#24719828)
If you want people to use it at the kernel level (with libbpf and C programming), better documentation. XDP has a fantastic tutorial[0], but everything else can be quite difficult to get into (this is from personal experience). I've been toying with the idea of starting my own version of the XDP tutorial for other BPF functions, but I don't want to start without support from the larger BPF community. They've been somewhat supportive but seemingly not the most willing to help (which they're under no obligation to do so and I don't think they should be).
For BCC and bpftrace I personally think the documentation is actually quite good.
Honestly it's not.
What it is, is badly documented. If you can't work out how to use it from scratch you probably don't know what you want to use it for, if that makes sense.
The actual VM makes quite a lot of sense, you just have to read a lot of kernel samples and txt documentation to work out how to do it properly.