Current-Users archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Revisiting DTrace syscall provider



Hi,

I'm trying DTrace syscall provider (systrace) patch
provided by riz some years ago(*) to complete the work.
(I'm already ack-ed the handover by him.)

(*) https://mail-index.netbsd.org/tech-kern/2013/06/24/msg015296.html

I needed some tweaks to make it work with -current,
but it works (on amd64) anyway.

Noticeable changes from the riz's patch are
- Move systrace_probe_func definition to
  sys/kern/kern_dtrace.c from sys/arch/amd64/amd64/trap.c
  to support architectures other than amd64
- Make it buildable for i386 and arm
  (some fixes to dtrace itself are already committed)

A known todo is to support syscall emulations, although
it can be done later. I think only native syscall support
is still worthwhile to merge.

Here is a patch:
http://www.netbsd.org/~ozaki-r/systrace-full.diff

Er...the patch is too big to look at because it includes
mechanically generated *sysent.c and *systrace_args.c.
So I prepare another patch that excludes them:
http://www.netbsd.org/~ozaki-r/systrace.diff

And here is a git branch. Please use it if you want to
see the changes as individual commits:
https://github.com/ozaki-r/netbsd-src/commits/dtrace-syscall-provider

Regards,
  ozaki-r


Home | Main Index | Thread Index | Old Index