This is the mail archive of the systemtap@sourceware.org mailing list for the systemtap project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: arm64 uprobes support showing signs of life


Hi Will,


On Monday 05 January 2015 09:36 PM, William Cohen wrote:
Hi All,

Pratyush has been implementing uprobes support for aarch64 and has
posted a set of patches
(http://comments.gmane.org/gmane.linux.ports.arm.kernel/382237) for
review.  The really new Linux kernels requires a patch to the
systemtap runtime because the f_dentry macro has been removed.  With
the patched systemtap I was able to run the systemtap testsuite and
get some test results exercising the uprobes support:

https://web.elastic.org/~dejazilla/viewsummary.php?summary=%3D%27%3C54A9E21C.2080504%40redhat.com%3E%27

There looked to be a localized fixes for plt support to eliminate the
unsupported systemtap.base/list.exp plt-* tests.

A number of the tests appear to fail because of userspace arguments
cannot be found for sdt probes.

The uprobe patches still need some refinement.  On a number of
systemtap "make installcheck" runs the kernel would get stuck spewing
out:

   Unexpected kernel single-step exception at EL1

There are at least two functions of arm64/uprobe implementation uprobe_breakpoint_handler and uprobe_single_step_handler, where a kprobe insertion might be causing above issue. Currently I have qualified these functions with __kprobe, so that one can not insert a kprobe there. With this you should not be able to see the above message.

However, I am still investigating if a kprobe insertion be allowed to these functions or any other function which is called directly from debug exception handler (do_debug_exception)

Update code is here:

https://github.com/pratyushanand/linux.git : ml_arm64_uprobe_devel_v2

~Pratyush


However, things are looking better for user-space probing on arm64.

-Will



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]