On 2015/6/4 13:48, Ingo Molnar wrote:
* Arnaldo Carvalho de Melo <a...@kernel.org> wrote:
Hi Ingo,
Please consider applying.
One of the next requests probably will have the eBPF work by Wang Nan,
but I am still going thru it and want to test it thoroughly.
BTW: Have you looked at it lately? It is at:
http://lkml.kernel.org/r/1433144296-74992-1-git-send-email-wangn...@huawei.com
Super summary from the above cover letter:
---------------------
It enables 'perf record' to filter events using eBPF programs like:
# perf record --event bpf-file.o sleep 1
Events are selected and filtered according to definitions in bpf-file.o.
Looks useful, but I think the UI needs one more tweak: could you fix it to be
able
to filter based on the eBPF _source_ file, not just the object file?
People want to tweak such filters as they profile, so we should use the eBPF
source code as the primary interface. We can compile it internally to the .o
just
fine. The .o file is a totally uninteresting intermediate product in itself.
I.e. we need to first think through such profiling workflows from beginning to
end
before allowing them upstream.
In a private mail Alexei Starovoitov disscussed with me about this. He
said that he is working
on a shared object which can compile C program into BPF bytecode on the
fly. After he done his
work, I think perf can support dtrace-like profiling that, users will be
able to feed source
code to perf directly on cmdline. He said he can release it on June. I
added him to the CC-list.
However I think the '.o' intermediate is still needed. I'd like to share
a real profiling
experience using eBPF today, please keep an eye on it. In my experience,
since we are using C
instead of dtrace, the code piece could be relative complex. Therefore,
even if perf is able
to compile the C source on the fly, I think user still need to transfer
the profiling scripts
to the target machine. Therefor, for him, precompiling and do some
debugging on a high-end server
then transfer it into target machine (like a smartphone) is tolerable,
and useful for me.
Thank you.
---------------------
The first two patches from that series are in this pull req, as
they just move stuff into tools/include/linux/ from tools/perf/include.
Regards,
- Arnaldo
The following changes since commit 5c9b9bc67c684e40b3a5e7e9facde0fb7200cd8c:
Merge tag 'perf-core-for-mingo' of
git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/core
(2015-05-29 20:19:02 +0200)
are available in the git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux.git
tags/perf-core-for-mingo
for you to fetch changes up to 1f121b03d058dd07199d8924373d3c52a207f63b:
perf tools: Deal with kernel module names in '[]' correctly (2015-06-03
10:02:38 -0300)
----------------------------------------------------------------
perf/core improvements and fixes:
User visible:
- Fix 'perf probe' segfault when glob matching function without debuginfo (Wang
Nan)
- Remove newline char when reading event scale and unit (Madhavan Srinivasan)
- Deal with kernel module names in '[]' correctly (Wang Nan)
Infrastructure:
- Fix the search for the kernel DSO on the unified list (Arnaldo Carvalho de
Melo)
- Move tools/perf/util/include/linux/{kernel.h,list.h,poison.h} to
tools/include,
to be used in tools/lib/bpf/ (Wang Nan)
Signed-off-by: Arnaldo Carvalho de Melo <a...@redhat.com>
----------------------------------------------------------------
Arnaldo Carvalho de Melo (1):
perf machine: Fix the search for the kernel DSO on the unified list
Madhavan Srinivasan (1):
perf tools: Remove newline char when reading event scale and unit
Wang Nan (4):
perf probe: Fix segfault when glob matching function without debuginfo
perf tools: Move linux/kernel.h to tools/include
tools: Move tools/perf/util/include/linux/{list.h,poison.h} to
tools/include
perf tools: Deal with kernel module names in '[]' correctly
tools/{perf/util => }/include/linux/kernel.h | 4 +-
tools/{perf/util => }/include/linux/list.h | 6 +--
tools/include/linux/poison.h | 1 +
tools/perf/MANIFEST | 3 ++
tools/perf/tests/kmod-path.c | 72 ++++++++++++++++++++++++++++
tools/perf/util/dso.c | 47 ++++++++++++++++--
tools/perf/util/dso.h | 2 +-
tools/perf/util/header.c | 8 ++--
tools/perf/util/include/linux/poison.h | 1 -
tools/perf/util/machine.c | 22 ++++++++-
tools/perf/util/pmu.c | 11 ++++-
tools/perf/util/probe-event.c | 26 ++++++++--
12 files changed, 179 insertions(+), 24 deletions(-)
rename tools/{perf/util => }/include/linux/kernel.h (97%)
rename tools/{perf/util => }/include/linux/list.h (90%)
create mode 100644 tools/include/linux/poison.h
delete mode 100644 tools/perf/util/include/linux/poison.h
Pulled, thanks a lot Arnaldo!
Ingo
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/