* [PATCH v2] perf record: Add doc for bpf event selection
@ 2019-02-01 13:46 Changbin Du
2019-02-09 12:50 ` [tip:perf/core] perf tools: Add documentation for BPF " tip-bot for Changbin Du
0 siblings, 1 reply; 2+ messages in thread
From: Changbin Du @ 2019-02-01 13:46 UTC (permalink / raw)
To: peterz, mingo, acme
Cc: jolsa, namhyung, linux-kernel, Changbin Du, Arnaldo Carvalho de Melo
Add document for how to pass bpf program with perf.
Cc: Arnaldo Carvalho de Melo <arnaldo.melo@gmail.com>
Signed-off-by: Changbin Du <changbin.du@gmail.com>
---
v2: fix grammar and add llvm section in perf-config.txt.
---
tools/perf/Documentation/perf-config.txt | 31 ++++++++++++++++++++++++
tools/perf/Documentation/perf-record.txt | 14 +++++++++++
2 files changed, 45 insertions(+)
diff --git a/tools/perf/Documentation/perf-config.txt b/tools/perf/Documentation/perf-config.txt
index 4ac7775fbc11..86f3dcc15f83 100644
--- a/tools/perf/Documentation/perf-config.txt
+++ b/tools/perf/Documentation/perf-config.txt
@@ -120,6 +120,10 @@ Given a $HOME/.perfconfig like this:
children = true
group = true
+ [llvm]
+ dump-obj = true
+ clang-opt = -g
+
You can hide source code of annotate feature setting the config to false with
% perf config annotate.hide_src_code=true
@@ -553,6 +557,33 @@ trace.*::
trace.show_zeros::
Do not suppress syscall arguments that are equal to zero.
+llvm.*::
+ llvm.clang-path::
+ Path to clang. If omit, search it from $PATH.
+
+ llvm.clang-bpf-cmd-template::
+ Cmdline template. Below lines show its default value. Environment
+ variable is used to pass options.
+ "$CLANG_EXEC -D__KERNEL__ $CLANG_OPTIONS $KERNEL_INC_OPTIONS \
+ -Wno-unused-value -Wno-pointer-sign -working-directory \
+ $WORKING_DIR -c $CLANG_SOURCE -target bpf -O2 -o -"
+
+ llvm.clang-opt::
+ Options passed to clang.
+
+ llvm.kbuild-dir::
+ kbuild directory. If not set, use /lib/modules/`uname -r`/build.
+ If set to "" deliberately, skip kernel header auto-detector.
+
+ llvm.kbuild-opts::
+ Options passed to 'make' when detecting kernel header options.
+
+ llvm.dump-obj::
+ Enable perf dump BPF object files compiled by LLVM.
+
+ llvm.opts::
+ Options passed to llc.
+
SEE ALSO
--------
linkperf:perf[1]
diff --git a/tools/perf/Documentation/perf-record.txt b/tools/perf/Documentation/perf-record.txt
index d232b13ea713..aa94ec7335df 100644
--- a/tools/perf/Documentation/perf-record.txt
+++ b/tools/perf/Documentation/perf-record.txt
@@ -88,6 +88,20 @@ OPTIONS
If you want to profile write accesses in [0x1000~1008), just set
'mem:0x1000/8:w'.
+ - a bpf source file (ending in .c) or a precompiled object file (ending
+ in .o) selects one or more BPF events.
+ The BPF program can attach to various perf events based on section
+ names.
+
+ When passing '.c', perf searches an installed LLVM to compile it into
+ an object file first. Optional clang options can be pased by option
+ '--clang-opt'.
+
+ perf record --clang-opt "-DLINUX_VERSION_CODE=0x50000" \
+ -e ./tests/bpf-script-example.c
+
+ Note: '--clang-opt' must place before '--event'.
+
- a group of events surrounded by a pair of brace ("{event1,event2,...}").
Each event is separated by commas and the group should be quoted to
prevent the shell interpretation. You also need to use --group on
--
2.19.1
^ permalink raw reply related [flat|nested] 2+ messages in thread
* [tip:perf/core] perf tools: Add documentation for BPF event selection
2019-02-01 13:46 [PATCH v2] perf record: Add doc for bpf event selection Changbin Du
@ 2019-02-09 12:50 ` tip-bot for Changbin Du
0 siblings, 0 replies; 2+ messages in thread
From: tip-bot for Changbin Du @ 2019-02-09 12:50 UTC (permalink / raw)
To: linux-tip-commits
Cc: acme, namhyung, changbin.du, tglx, mingo, peterz, linux-kernel,
jolsa, hpa
Commit-ID: 55fa8b8c0a37618c94df38d50d6871cb3e755ad2
Gitweb: https://git.kernel.org/tip/55fa8b8c0a37618c94df38d50d6871cb3e755ad2
Author: Changbin Du <changbin.du@gmail.com>
AuthorDate: Fri, 1 Feb 2019 21:46:51 +0800
Committer: Arnaldo Carvalho de Melo <acme@redhat.com>
CommitDate: Wed, 6 Feb 2019 10:00:40 -0300
perf tools: Add documentation for BPF event selection
Add documentation for how to pass a BPF program as a perf event.
Signed-off-by: Changbin Du <changbin.du@gmail.com>
Cc: Jiri Olsa <jolsa@redhat.com>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Link: http://lkml.kernel.org/r/20190201134651.12373-1-changbin.du@gmail.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
---
tools/perf/Documentation/perf-config.txt | 31 +++++++++++++++++++++++++++++++
tools/perf/Documentation/perf-record.txt | 14 ++++++++++++++
2 files changed, 45 insertions(+)
diff --git a/tools/perf/Documentation/perf-config.txt b/tools/perf/Documentation/perf-config.txt
index 4ac7775fbc11..86f3dcc15f83 100644
--- a/tools/perf/Documentation/perf-config.txt
+++ b/tools/perf/Documentation/perf-config.txt
@@ -120,6 +120,10 @@ Given a $HOME/.perfconfig like this:
children = true
group = true
+ [llvm]
+ dump-obj = true
+ clang-opt = -g
+
You can hide source code of annotate feature setting the config to false with
% perf config annotate.hide_src_code=true
@@ -553,6 +557,33 @@ trace.*::
trace.show_zeros::
Do not suppress syscall arguments that are equal to zero.
+llvm.*::
+ llvm.clang-path::
+ Path to clang. If omit, search it from $PATH.
+
+ llvm.clang-bpf-cmd-template::
+ Cmdline template. Below lines show its default value. Environment
+ variable is used to pass options.
+ "$CLANG_EXEC -D__KERNEL__ $CLANG_OPTIONS $KERNEL_INC_OPTIONS \
+ -Wno-unused-value -Wno-pointer-sign -working-directory \
+ $WORKING_DIR -c $CLANG_SOURCE -target bpf -O2 -o -"
+
+ llvm.clang-opt::
+ Options passed to clang.
+
+ llvm.kbuild-dir::
+ kbuild directory. If not set, use /lib/modules/`uname -r`/build.
+ If set to "" deliberately, skip kernel header auto-detector.
+
+ llvm.kbuild-opts::
+ Options passed to 'make' when detecting kernel header options.
+
+ llvm.dump-obj::
+ Enable perf dump BPF object files compiled by LLVM.
+
+ llvm.opts::
+ Options passed to llc.
+
SEE ALSO
--------
linkperf:perf[1]
diff --git a/tools/perf/Documentation/perf-record.txt b/tools/perf/Documentation/perf-record.txt
index d232b13ea713..02b4aa2621e7 100644
--- a/tools/perf/Documentation/perf-record.txt
+++ b/tools/perf/Documentation/perf-record.txt
@@ -88,6 +88,20 @@ OPTIONS
If you want to profile write accesses in [0x1000~1008), just set
'mem:0x1000/8:w'.
+ - a BPF source file (ending in .c) or a precompiled object file (ending
+ in .o) selects one or more BPF events.
+ The BPF program can attach to various perf events based on the ELF section
+ names.
+
+ When processing a '.c' file, perf searches an installed LLVM to compile it
+ into an object file first. Optional clang options can be passed via the
+ '--clang-opt' command line option, e.g.:
+
+ perf record --clang-opt "-DLINUX_VERSION_CODE=0x50000" \
+ -e tests/bpf-script-example.c
+
+ Note: '--clang-opt' must be placed before '--event/-e'.
+
- a group of events surrounded by a pair of brace ("{event1,event2,...}").
Each event is separated by commas and the group should be quoted to
prevent the shell interpretation. You also need to use --group on
^ permalink raw reply related [flat|nested] 2+ messages in thread
end of thread, other threads:[~2019-02-09 12:51 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-02-01 13:46 [PATCH v2] perf record: Add doc for bpf event selection Changbin Du
2019-02-09 12:50 ` [tip:perf/core] perf tools: Add documentation for BPF " tip-bot for Changbin Du
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).