Skip to content

Commit

Permalink
doc: introduce BCC
Browse files Browse the repository at this point in the history
Signed-off-by: Jesper Dangaard Brouer <brouer@redhat.com>
  • Loading branch information
netoptimizer committed Feb 2, 2017
1 parent 3c603d0 commit b61a7ec
Show file tree
Hide file tree
Showing 2 changed files with 48 additions and 1 deletion.
37 changes: 37 additions & 0 deletions kernel/Documentation/bpf/bcc_tool_chain.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
=============================
BCC (BPF Compiler Collection)
=============================

BCC is a toolkit to makes eBPF programs easier to write, with
front-ends in Python and lua. BCC requires LLVM and clang (in correct
versions) available on target, because BCC programs does runtime
compilation of the pseudo-C code into eBPF instructions.

BBC includes several useful tools_ and examples_, developed by
recognized performance analyst `Brendan Gregg`_ and covered with a
tutorial_ and slides_.

.. _tools:
https://github.com/iovisor/bcc/tree/master/tools

.. _examples:
https://github.com/iovisor/bcc/tree/master/examples

.. _`Brendan Gregg`: http://www.brendangregg.com/

.. _tutorial:
https://github.com/iovisor/bcc/blob/master/docs/tutorial.md

.. _slides:
http://www.slideshare.net/brendangregg/linux-bpf-superpowers/43/

The project maintains an overview of `eBPF supported kernels`_ and
what versions got which specific features. There is also a `BCC
Reference Guide`_.

.. _eBPF supported kernels:
https://github.com/iovisor/bcc/blob/master/docs/kernel-versions.md

.. _BCC Reference Guide:
https://github.com/iovisor/bcc/blob/master/docs/reference_guide.md

12 changes: 11 additions & 1 deletion kernel/Documentation/bpf/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,11 @@ Documentation
The primary user documentation for extended BPF is in the man-page for
the `bpf(2)`_ syscall.

This documentation is focused on the kernel trees sample/bpf and tools/lib/
This documentation is focused on the kernel tree's `samples/bpf/`_ and
`tools/lib/bpf/`_. It is worth mentioning that other projects exists
like :doc:`bcc_tool_chain`, that have a slightly different user-facing
syntax, but is interfacing with the same kernel facilities as this
documentation is covering.

.. Comments / Notes:
Sections:
Expand All @@ -42,6 +46,7 @@ This documentation is focused on the kernel trees sample/bpf and tools/lib/
:maxdepth: 1

ebpf_maps
bcc_tool_chain

.. links:
Expand All @@ -55,3 +60,8 @@ This documentation is focused on the kernel trees sample/bpf and tools/lib/
.. _presentation by Alexei:
http://www.slideshare.net/AlexeiStarovoitov/bpf-inkernel-virtual-machine

.. _samples/bpf/:
https://github.com/torvalds/linux/blob/master/samples/bpf/

.. _tools/lib/bpf/:
https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/tools/lib/bpf/

0 comments on commit b61a7ec

Please sign in to comment.