This is the mail archive of the
systemtap@sourceware.org
mailing list for the systemtap project.
[Bug tapsets/16667] need to add clone() syscall support to the syscall/nd_syscall tapsets
- From: "dsmith at redhat dot com" <sourceware-bugzilla at sourceware dot org>
- To: systemtap at sourceware dot org
- Date: Fri, 07 Mar 2014 16:33:32 +0000
- Subject: [Bug tapsets/16667] need to add clone() syscall support to the syscall/nd_syscall tapsets
- Auto-submitted: auto-generated
- References: <bug-16667-6586 at http dot sourceware dot org/bugzilla/>
https://sourceware.org/bugzilla/show_bug.cgi?id=16667
--- Comment #2 from David Smith <dsmith at redhat dot com> ---
I was working on a fix to look at the syscall number to figure out if the user
had called fork() vs. vfork() vs. clone(). It worked pretty well, until I
tested it against a 3.10 kernel on ppc64.
Our syscall.fork really probes 'kernel.function("do_fork")', the function that
sys_fork(), sys_vfork(), and sys_clone() call. However, do_fork() can be
inlined on 3.10 ppc64, and sys_vfork() ends up calling the inlined version of
do_fork(). We can access the arguments of the inlined version of do_fork(), but
we miss the .return.
So, I'm now thinking of splitting out fork/vfork/clone and just probe the
sys_fork()/sys_vfork()/sys_clone() entry points. This is a behavior change, but
perhaps for the best.
--
You are receiving this mail because:
You are the assignee for the bug.