This is the mail archive of the
systemtap@sourceware.org
mailing list for the systemtap project.
Re: [PATCH] Complete the names-to-numbers conversion in nd_syscalls.stp.
On Tue, 2009-05-19 at 02:32 +0200, PrzemysÅaw PaweÅczyk wrote:
> On Tue, May 19, 2009 at 01:55, Josh Stone <jistone@redhat.com> wrote:
> > On 05/17/2009 11:09 AM, Przemyslaw Pawelczyk wrote:
> >> Replace in-scope variables references with *_arg functions. Use 'kprobe'
> >> family of probes instead of 'kernel' family for dwarfless probing. Also
> >> fix a few typos and unify formatting.
> >
> > Thanks a lot -- this is good work! I went ahead and committed this to
> > the repo, but I would ask for a couple more things before we declare
> > this "complete". First, as Ananth pointed out, we will eventually need
> > to deal with the SYSCALL_WRAPPERS for some archs. Second is that we now
> > need to start nd_syscalls2.stp to get the full syscall set. Are you up
> > to tackling that as well?
>
> Yes, this patch isn't complete, but information that I'll prepare
> second version was mistakenly sent only to Ananth instead of mailing
> list.
> Information about future second patch:
> - include fix for architectures using SYSCALL_WRAPPERS,
> - add missing probe points (already available in syscalls.stp:
> faccessat, fchmodat, fchownat, linkat, mknodat),
> - remove return aliases for exit and exit_group (PR6588).
>
> I'm theoretically up to tackle nd_syscalls2.stp, but without any
> deadline and as a low priority task.
> Conversion from syscalls2?.stp to nd_syscalls2?.stp should be a fully
> automatic process, but there is no appropriate script right now.
> (Automated generation of syscalls.stp also would be a nice thing.)
> Focusing on such a script is IMHO better, but on the other hand it is
> one time job. Syscall changes in kernel are rare and further syscalls
> modifications will be easily applied by hand.
>
> > Long term, we'll probably want to rename the dwarf syscall tapset to
> > something like dw_syscall, and then provide aliases like:
> > probe syscall.foo = dw_syscall.foo !, nd_syscall.foo {}
>
> Sounds good for me.
>
> > Josh
>
> Regards.
>
JoeLynn Keniston implemented both nd_syscalls.stp and nd_syscalls2.stp
last summer. Except for differences in spacing and line breaks, her
nd_syscalls.stp looks very close to yours. I'm not sure I ever
completed my code review of nd_syscalls2.stp. Unfortunately, support
for dwarfless probing was backed out of the translator just about the
time she was finishing this work, so testing became a problem and we
shelved the project.
Since she's not an IBMer, I was not (and am not) able to post or check
in her code on her behalf. JoeLynn, please talk to me about posting
your versions of nd_syscalls.stp (for comparison) and nd_syscalls2.stp.
BTW, we were testing it by probing syscall.*[.return] and
nd_syscall.*[.return] in the same script and verifying that each pair of
lines in the output matched.
Sorry for not closing the loop on this last summer. I know it's been a
lot of work.
Jim Keniston