From patchwork Tue Feb 7 14:30:32 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jesper Dangaard Brouer X-Patchwork-Id: 725171 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 3vHmwZ5cL6z9s7m for ; Wed, 8 Feb 2017 01:30:54 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932128AbdBGOaq (ORCPT ); Tue, 7 Feb 2017 09:30:46 -0500 Received: from mx1.redhat.com ([209.132.183.28]:36256 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753829AbdBGOao (ORCPT ); Tue, 7 Feb 2017 09:30:44 -0500 Received: from int-mx13.intmail.prod.int.phx2.redhat.com (int-mx13.intmail.prod.int.phx2.redhat.com [10.5.11.26]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 8879FC706F; Tue, 7 Feb 2017 14:30:34 +0000 (UTC) Received: from t520.localdomain (ovpn-200-18.brq.redhat.com [10.40.200.18]) by int-mx13.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id v17EUXtV031648; Tue, 7 Feb 2017 09:30:34 -0500 Received: from [127.0.0.1] (localhost [127.0.0.1]) by t520.localdomain (Postfix) with ESMTP id 48E77A0183; Tue, 7 Feb 2017 15:30:32 +0100 (CET) Subject: [net-next PATCH 4/4] doc/bpf: describe BCC the BPF Compiler Collection From: Jesper Dangaard Brouer To: netdev@vger.kernel.org, linux-doc@vger.kernel.org, Jonathan Corbet Cc: Alexei Starovoitov , alexander@alemayhu.com, linux-kernel@vger.kernel.org, quentin.monnet@6wind.com, Jesper Dangaard Brouer , Daniel Borkmann Date: Tue, 07 Feb 2017 15:30:32 +0100 Message-ID: <148647783224.10567.17783943294570297203.stgit@localhost> In-Reply-To: <148647756092.10567.10947541548678801938.stgit@localhost> References: <148647756092.10567.10947541548678801938.stgit@localhost> User-Agent: StGit/0.17.1-dirty MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.68 on 10.5.11.26 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.30]); Tue, 07 Feb 2017 14:30:34 +0000 (UTC) Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org It is worth mentioning BCC (BPF Compiler Collection) in-order to direct developers into that community. Reviewed-by: Alexander Alemayhu Signed-off-by: Jesper Dangaard Brouer --- Documentation/bpf/bcc_tool_chain.rst | 37 ++++++++++++++++++++++++++++++++++ Documentation/bpf/index.rst | 5 ++--- 2 files changed, 39 insertions(+), 3 deletions(-) create mode 100644 Documentation/bpf/bcc_tool_chain.rst diff --git a/Documentation/bpf/bcc_tool_chain.rst b/Documentation/bpf/bcc_tool_chain.rst new file mode 100644 index 000000000000..b721875065bc --- /dev/null +++ b/Documentation/bpf/bcc_tool_chain.rst @@ -0,0 +1,37 @@ +============================= +BCC (BPF Compiler Collection) +============================= + +BCC is a toolkit to make eBPF programs easier to write, with +front-ends in Python and Lua. BCC requires LLVM and clang (in version +3.7.1 or newer) to be available on target, because BCC programs do +runtime compilation of the restricted-C code into eBPF instructions. + +BCC 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 + diff --git a/Documentation/bpf/index.rst b/Documentation/bpf/index.rst index 618a28f7e959..686cc33fffab 100644 --- a/Documentation/bpf/index.rst +++ b/Documentation/bpf/index.rst @@ -35,7 +35,7 @@ the `bpf(2)`_ syscall. This documentation is focused on the kernel tree's `samples/bpf/`_ and `tools/lib/bpf/`_. It is worth mentioning that other projects exist, -like BCC_, that has a slightly different user-facing +like :doc:`bcc_tool_chain`, that has a slightly different user-facing syntax, but is interfacing with the same kernel facilities as those covered by this documentation. @@ -44,6 +44,7 @@ covered by this documentation. ebpf_maps ebpf_maps_types + bcc_tool_chain .. links: @@ -65,5 +66,3 @@ covered by this documentation. .. _Traffic control: http://man7.org/linux/man-pages/man8/tc-bpf.8.html -.. _BCC: https://github.com/iovisor/bcc -