This is the mail archive of the
systemtap@sourceware.org
mailing list for the systemtap project.
Re: arm64 kprobes patches
- From: Masami Hiramatsu <masami dot hiramatsu dot pt at hitachi dot com>
- To: Sandeepa Prabhu <sandeepa dot prabhu at linaro dot org>
- Cc: systemtap at sourceware dot org, William Cohen <wcohen at redhat dot com>, Petr Machata <pmachata at redhat dot com>, Mark Wielaard <mjw at redhat dot com>, Deepak Saxena <dsaxena at linaro dot org>, Arnd Bergmann <arnd dot bergmann at linaro dot org>, "sandeepa dot prabhu at linux dot com" <sandeepa dot prabhu at linux dot com>
- Date: Thu, 27 Feb 2014 11:14:55 +0900
- Subject: Re: arm64 kprobes patches
- Authentication-results: sourceware.org; auth=none
- References: <CA+b37P175OWKXcQ-4SYb+AudxOJMe3OC5csoZognNuX7MOaTyQ at mail dot gmail dot com>
(2014/02/27 0:02), Sandeepa Prabhu wrote:
> Hi all,
>
> We have uploaded arm64 kprobes latest changes on linaro git which
> include some fixes for recursive kprobes. These are rebased on top of
> 3.14-rc3. Kprobes support can be enabled by enabling
> "General setup ---> [*] Kprobes" config option.
>
> Git location: git://git.linaro.org/people/sandeepa.prabhu/linux-aarch64.git
> Branch: arm64_kprobes_3.14-rc3
Great! Thank you for working on that!
>
> Please let us know if you are interested in pulling this branch for
> systemtap test-suite verification, while we are trying to include
> systemtap test-suite on our linaro open-embedded platforms.
>
> Also, please let us know if there are documentation on howto run full
> test-suite for systemtap and various criteria kprobes should meet?
One possible testing is putting kprobes on all functions in the
kernel by using ftrace interface. (On x86, current kprobes still has
some problems, and I solved, will send the series later).
You can put kprobes on all kernel functions
----
#!/bin/sh
TRACE_DIR=/sys/kernel/debug/tracing/
grep -iw t /proc/kallsyms | tr -d . | awk 'BEGIN{i=0};{print("p:"$3"_"i, "0x"$1); i++}' | \
while read l; do echo $l >> $TRACE_DIR/kprobe_events || echo "Failed($?): $l" ; done
----
Note that this just register *disabled* kprobes on each function.
To enable each one, you need to write "1" to $TRACE_DIR/events/kprobes/<EVENT>/enable.
# I recommend you to enable one by one, there still be a performance problem.
Thank you,
--
Masami HIRAMATSU
IT Management Research Dept. Linux Technology Center
Hitachi, Ltd., Yokohama Research Laboratory
E-mail: masami.hiramatsu.pt@hitachi.com