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: nd_syscalls for ARM


Thanks for your answer, I will see if we can add that to Linaro tasks (we also want to work on user space probing + moving to v1.4).

Regards
Fred

Frederic Turgis
OMAP Platform Business Unit - OMAP System Engineering - Platform Enablement



Texas Instruments France SA, 821 Avenue Jack Kilby, 06270 Villeneuve Loubet. 036 420 040 R.C.S Antibes. Capital de EUR 753.920

-----Original Message-----

From: David Smith [mailto:dsmith@redhat.com]
Sent: Monday, March 14, 2011 10:32 PM
To: Turgis, Frederic
Cc: systemtap@sourceware.org
Subject: Re: nd_syscalls for ARM

On 03/14/2011 12:19 PM, Turgis, Frederic wrote:
> Hi,
>
> Registers.stp is not defined for ARM therefore we can't use int_arg(),
> pointer_arg() definitions for ARM, especially we can't use nd_syscall.
> - has anyone proposed to port it ?
>
> - if I had to set a priority on this work (and convince Linaro), how
> useful would you rate it, from past experience on your own architecture ?

Fred,

If you've got some spare time, defining registers.stp for ARM would be useful.

Having said that...

The nd_syscall probes haven't really gotten a whole lot of attention lately, since there are some broken things there that can't be easily fixed.  See pr11424
(<http://sourceware.org/bugzilla/show_bug.cgi?id=11424>) for details, but basically the '?' (optional) and '!' (optional and sufficient) probe operators don't work for kprobe.function probes.  I'm unsure of how much the kprobe.function stuff is used these days.

When possible, I try to keep the syscall tapset and the nd_syscall tapset in sync.  But, sometimes it just isn't possible.

Bug pr11424 causes several nd_syscall failures (the syscall tapset and the nd_syscall tapset should have the same number of passes/failures, but the nd_syscall tapset has several more failures).

There are probably some spots in the tapsets that could use some arm attention, one being target_set.stp.  For this to work for arm, you'll need to either define register.stp or add some conditionals to let it use the syscall probes (instead of the nd_syscall probes).  It would probably be a good idea to make a pass through all of the '%(arch' code and see what needs doing for ARM.

--
David Smith
dsmith@redhat.com
Red Hat
http://www.redhat.com
256.217.0141 (direct)
256.837.0057 (fax)


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