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: rethinking syscall tapset


On Tue, 2006-01-31 at 09:04 -0800, Hien Nguyen wrote:
> Hi Martin,
> 
> Looking good. I like the tracestr and returnp idea. The tracestr , we 
> could build a string similar to strace if want too. 

That's the idea.  I now think it would be best to leave the function
name off and call it "argstr".  So to do strace, 
printf("%s(%s) = ", name, argstr)
  then on the return, do
printf("%d\n", returnval())


> Do you have any 
> thought about dealing with different kernel version?

My current thoughts:

1. Don't use different directories for different versions like the old
tapset did. Unmaintainable. Almost everything goes in the main
directory. We can split it into two files, if we want. syscalls1.stp,
syscalls2.stp. Keep the syscalls alphabetical in the file(s).

2. If at all possible, stick to standard kernel versions. No check for
2.6.15-1.1824_FC4, etc. 

3. For arch-specific calls, like stat64() put those in
i686/syscalls.stp, for example

4. For new syscalls that get put in for different archs in different
releases, it may get messy, but they are rare.  Keep in the main
directory, not in arch-specific subdirs.

5. The real problem will be if we still run into compiler-related
problems where some variables are unavailable.

I'll try to work out the documentation format.  Then maybe we can split
the syscalls and each take half?  


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