diff --git a/bpf-internals-2.md b/bpf-internals-2.md index c154894..ee5185d 100644 --- a/bpf-internals-2.md +++ b/bpf-internals-2.md @@ -137,6 +137,6 @@ This inturn calls [`map_update_elem()`](http://lxr.free-electrons.com/source/ker So probably, things will start falling into pieces now from the [earlier post](http://www.brendangregg.com/blog/2015-05-15/ebpf-one-small-step.html) by Brendan Gregg where he was updating a map from the BPF program (using the `BPF_CALL` instruction which calls the internal [kernel helpers](http://lxr.free-electrons.com/source/kernel/bpf/helpers.c)) and then concurrently accessing it from userspace to generate a beautiful histogram (through the syscall I just mentioned above). BPF Maps are indeed a very powerful addition to the system. You can also checkout more detailed and complete [examples](https://github.com/iovisor/bcc/tree/master/examples) now that you know what is going on. To summarize, this is how an example BPF program written in restricted C for kernel part (`foo_kern.c`) and normal C for userspace part (`foo_user.c`) would run these days: -[![img] (https://suchakra.files.wordpress.com/2015/08/ebpf-session.png)](https://suchakra.files.wordpress.com/2015/08/ebpf-session.png) +[![img](https://suchakra.files.wordpress.com/2015/08/ebpf-session.png)](https://suchakra.files.wordpress.com/2015/08/ebpf-session.png) In the next BPF post, I will discuss the eBPF verifier in detail. This is the most crucial part of BPF and deserves detailed attention I think. There is also something cool happening these days on the Plumgrid side I think - the [BPF Compiler Collection](https://github.com/iovisor/bcc). There was a very interesting demo using such tools and the power of eBPF at the recent Red Hat Summit. I got BCC working and tried out some examples with probes - where I could easily compile and load BPF programs from my Python scripts! How cool is that :) Also, I have been digging through the LTTng's interpreter lately so probably another post detailing how the BPF and LTTng's interpreters work would be nice to know. That's all for now. Run BPF.