public inbox for systemtap@sourceware.org
 help / color / mirror / Atom feed
* arm64 uprobes support showing signs of life
@ 2015-01-05 16:06 William Cohen
  2015-01-05 16:12 ` [fedora-arm] " Peter Robinson
  2015-01-07 12:07 ` Pratyush Anand
  0 siblings, 2 replies; 5+ messages in thread
From: William Cohen @ 2015-01-05 16:06 UTC (permalink / raw)
  To: systemtap, Pratyush Anand, arm

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

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

-Will

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [fedora-arm] arm64 uprobes support showing signs of life
  2015-01-05 16:06 arm64 uprobes support showing signs of life William Cohen
@ 2015-01-05 16:12 ` Peter Robinson
  2015-01-07 12:07 ` Pratyush Anand
  1 sibling, 0 replies; 5+ messages in thread
From: Peter Robinson @ 2015-01-05 16:12 UTC (permalink / raw)
  To: William Cohen; +Cc: systemtap, Pratyush Anand, arm

On Mon, Jan 5, 2015 at 4:06 PM, William Cohen <wcohen@redhat.com> 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
>
> However, things are looking better for user-space probing on arm64.

good news, thanks for the update.

Peter

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: arm64 uprobes support showing signs of life
  2015-01-05 16:06 arm64 uprobes support showing signs of life William Cohen
  2015-01-05 16:12 ` [fedora-arm] " Peter Robinson
@ 2015-01-07 12:07 ` Pratyush Anand
  2015-01-07 13:10   ` William Cohen
  1 sibling, 1 reply; 5+ messages in thread
From: Pratyush Anand @ 2015-01-07 12:07 UTC (permalink / raw)
  To: William Cohen, systemtap, arm

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
>

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: arm64 uprobes support showing signs of life
  2015-01-07 12:07 ` Pratyush Anand
@ 2015-01-07 13:10   ` William Cohen
  2015-01-07 13:34     ` Pratyush Anand
  0 siblings, 1 reply; 5+ messages in thread
From: William Cohen @ 2015-01-07 13:10 UTC (permalink / raw)
  To: Pratyush Anand, systemtap, arm

On 01/07/2015 07:07 AM, Pratyush Anand wrote:
> 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)
> 

Hi Pratyush,

Are there any other places that need to be protected from kprobe probing in the arm64 code?

> Update code is here:
> 
> https://github.com/pratyushanand/linux.git : ml_arm64_uprobe_devel_v2
> 
> ~Pratyush

I will give the new kernel a try.  

-Will

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

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: arm64 uprobes support showing signs of life
  2015-01-07 13:10   ` William Cohen
@ 2015-01-07 13:34     ` Pratyush Anand
  0 siblings, 0 replies; 5+ messages in thread
From: Pratyush Anand @ 2015-01-07 13:34 UTC (permalink / raw)
  To: William Cohen, systemtap, arm



On Wednesday 07 January 2015 06:40 PM, William Cohen wrote:
> On 01/07/2015 07:07 AM, Pratyush Anand wrote:
>> 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)
>>
>
> Hi Pratyush,
>
> Are there any other places that need to be protected from kprobe probing in the arm64 code?

yes, I tried inserting kprobe in 
arch/arm64/kernel/debug-monitors.c:brk_handler and it failed. So, I 
think as of now, we can not probe any function which comes in the path 
of do_debug_exception.

Looking into kprobe code, it seems that it allows  REENTER, so it should 
have worked. Do not have much idea at present. Still, studying these 
part of code.

~Pratyush


>
>> Update code is here:
>>
>> https://github.com/pratyushanand/linux.git : ml_arm64_uprobe_devel_v2
>>
>> ~Pratyush
>
> I will give the new kernel a try.
>
> -Will
>
>>
>>>
>>> However, things are looking better for user-space probing on arm64.
>>>
>>> -Will
>>>
>

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2015-01-07 13:34 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-01-05 16:06 arm64 uprobes support showing signs of life William Cohen
2015-01-05 16:12 ` [fedora-arm] " Peter Robinson
2015-01-07 12:07 ` Pratyush Anand
2015-01-07 13:10   ` William Cohen
2015-01-07 13:34     ` Pratyush Anand

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 read-only IMAP folder(s) and NNTP newsgroup(s).