| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
| |
Ensured the recent additions of v4 probes and supporting
routines worked or at least don't break with RHEL5 U5 kernel.
Signed-off-by: Steve Dickson <steved@redhat.com>
|
|
|
|
|
|
| |
This commit causes the 2.6.33 probes to break
This reverts commit 3ca4e3f2f5a7a615d0aed00a242f4e30864deaa8.
|
|
|
|
|
|
|
| |
Ensured the recent additions of v4 probes and
supporting routines worked with RHEL5 U5 kernel.
Signed-off-by: Steve Dickson <steved@redhat.com>
|
|
|
|
|
|
|
|
| |
- Fixed a couple typos
- To allow better optimization, removed the used of
"convenience variables"
Signed-off-by: Steve Dickson <steved@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
To allow filtering by the client's IP address,
the addr_from_rqst_str() function was added which
extracts the IP address from incoming procedures
and converts them into a character string. Calls to
addr_from_rqst_str() were added to the top of each
probe so callers of the probes can use the IP addresses
as a filter.
Calls to __svc_fh() were also sprinkled were needed
so callers can also filter on file handles
Signed-off-by: Steve Dickson <steved@redhat.com>
|
|
|
|
|
|
|
|
|
|
| |
Added the ftype() function which converts file types
into character strings
Added calls nfsderror() to the return probes that will display
errors in character strings
Signed-off-by: Steve Dickson <steved@redhat.com>
|
|
|
|
|
|
|
| |
Either probes displayed anything that was useful, plus
there are other ways to display similar information.
Signed-off-by: Steve Dickson <steved@redhat.com>
|
|
|
|
|
|
|
|
|
| |
Converted the nfsd.proc.remove probes to used
the @cast() mechanism.
Created the nfsd.proc4.remove probes
Signed-off-by: Steve Dickson <steved@redhat.com>
|
|
|
|
|
|
|
|
|
| |
Converted the nfsd.proc.remove probes to used
the @cast() mechanism.
Created the nfsd.proc4.remove probes
Signed-off-by: Steve Dickson <steved@redhat.com>
|
|
|
|
|
|
|
|
|
| |
Converted the nfsd.proc.create probes to used
the @cast() mechanism.
Created the nfsd.proc4.create probes
Signed-off-by: Steve Dickson <steved@redhat.com>
|
|
|
|
|
|
|
|
|
| |
Converted the nfsd.proc.write probes to used
the @cast() mechanism.
Created the nfsd.proc4.write probes
Signed-off-by: Steve Dickson <steved@redhat.com>
|
|
|
|
|
|
|
|
|
| |
Converted the nfsd.proc.read probes to used
the @cast() mechanism.
Created the nfsd.proc4.read probes
Signed-off-by: Steve Dickson <steved@redhat.com>
|
|
|
|
|
|
|
|
|
| |
Converted the nfsd.proc.lookup probes to used
the @cast() mechanism.
Created the nfsd.proc4.lookup probes
Signed-off-by: Steve Dickson <steved@redhat.com>
|
|
|
|
|
|
|
|
| |
The nfsderror() function takes the error numbers used
by the NFS server and converts them into a text representation
of the given error number.
Signed-off-by: Steve Dickson <steved@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
| |
As mjw's aborted commit 5ab0b1b6 attempted, we can use a @cast to get
the filesystem root for the current task instead of embedded-C. I've
left it using the kernel debuginfo instead of headers for now, because
all of the neighboring @casts are doing the same.
* tapset/dentry.stp (d_path): Use @cast to get the root.
(__dentry_get_current_root): Remove, no longer needed.
* testsuite/buildok/dentry.stp: Test that dentry's functions all build.
|
|
|
|
|
| |
* tapset/proc_mem.stp: Move header file so that it will compile on RHEL5
systems.
|
|
|
|
|
|
|
|
| |
It's writing into a system-wide resource, so it shouldn't be permitted
to just anyone. Also remove the printk fallback that isn't actually
functional.
* tapset/logging.stp (ftrace): Remove unprivileged and printk.
|
|
|
|
|
| |
* tapset/proc_mem.stp(_stp_get_mm_counter_file_rss,
_stp_get_mm_counter_anon_rss): Use embedded function.
|
|
|
|
|
| |
This reverts commit 5ab0b1b6c4d3a7f1ea156835a32000669e378886.
Wrongly pushed commit.
|
|
|
|
|
| |
* tapset/dentry.stp: Removed embedded-c include and function
__dentry_get_current_root(). Use task_current and @cast in d_path().
|
| |
|
|
|
|
|
|
| |
* tapset/task.stp: Used '@defined()' to remove kernel version checks.
* tapset/dentry.stp: Ditto.
* tapset/scsi.stp: Ditto.
|
|
|
|
|
|
|
|
|
|
| |
* tapset/tty.stp: Used '@defined()' to remove kernel version checks.
* tapset/scheduler.stp: Ditto.
* tapset/vfs.stp: Used '@defined()' to remove kernel version checks. Also
made several probe points optional instead of using kernel version
checks to know when to include them.
* testsuite/buildok/vfs_testcase.stp: Removed stap '-u' (unoptimized mode)
switch, since '@defined()' doesn't work in unoptimized mode.
|
|
|
|
|
|
|
|
| |
* tapset/context.stp: Improved casting to 'mm_struct' on RHEL5 by changing
the header file referenced from '<linux/mm_types.h>' to
'<linux/sched.h>' (since mm_types.h doesn't exist on RHEL5). On newer
kernels, sched.h includes mm_types.h.
* tapset/proc_mem.stp: Ditto.
|
|
|
|
|
|
|
|
|
|
| |
* tapset/syscalls.stp: Used '@defined()' to remove kernel version checks.
* tapset/syscalls2.stp: Ditto.
* tapset/x86_64/syscalls.stp: Ditto.
* tapset/nd_syscalls.stp: Updated to match tapset/syscalls.stp.
* tapset/nd_syscalls2.stp: Updated to match tapset/syscalls2.stp.
* tapset/x86_64/nd_syscalls.stp: Updated to match
tapset/x86_64/syscalls.stp.
|
| |
|
|
|
|
|
| |
* tapset/context.stp: Add cmdline_str, cmdline_arg and cmdline_args.
* testsuite/buildok/context_test.stp: Add tests for new functions.
|
| |
|
| |
|
|
|
|
|
|
| |
* tapset/task_time.stp: New functions task_stime_tid(), task_utime_tid()
and task_time_string_tid().
* testsuite/buildok/task_test.stp: Add tests.
|
| |
|
|
|
|
|
|
| |
* tapset/proc_mem.stp: Add proc_mem_size_pid, proc_mem_rss_pid,
proc_mem_shr_pid, proc_mem_txt_pid, proc_mem_data_pid and
proc_mem_string_pid functions to tapset.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* testsuite/systemtap.syscall/mmap.c (main): Added mprotect and mremap
testing (along with testing of anonymous maps).
* tapset/i386/syscalls.stp: In mmap probes, handle the fact that the
kernel gets an unsigned long 'fd', but the user-side passes a signed
int.
* tapset/i386/nd_syscalls.stp: Ditto.
* tapset/ia64/syscalls.stp: Ditto.
* tapset/powerpc/nd_syscalls.stp: Ditto.
* tapset/powerpc/syscalls.stp: Ditto.
* tapset/x86_64/nd_syscalls.stp: Ditto.
* tapset/x86_64/syscalls.stp: Ditto.
|
|
|
|
|
|
| |
The kernel has min/max/clamp macros to make range comparisons easier.
Clamp is a newer invention, but we can define it for older kernels in
terms of min and max.
|
| |
|
|
|
|
|
|
|
|
|
| |
Some distributions might have backported the pipe fd leak patch and removed
the sys32_pipe kernel function even before 2.6.32. So make the probe alias
optional instead of relying on a version check.
* tapset/x86_64/syscalls.stp (syscall.pipe): Make alias optional.
(syscall.pipe.return): Likewise.
|
|
|
|
|
|
|
| |
Files changed:
tapset/ipmib.stp, tapset.tcpmib.stp, testsuite/systemtap.examples/network/tcpipstat.stp, testsuite/systemtap.examples/network/tcp_trace.stp
Signed-of-by: David Wilder <dwilder@us.ibm.com>
|
|
|
|
|
|
| |
We now implement __get_argv's string building in pure stap script.
Also, every argument is now quoted, which is different than before, but
it's much more robust about handling special characters.
|
|
|
|
| |
This reverts commit f75409719f120a3dbee66d761cf23a64092d1414.
|
| |
|
|
|
|
|
|
|
| |
That function was calling strlcpy as if the return value was the number
of bytes copied, but strlcpy actually returns the length of the input
string. We now use min() to handle the case when it's bigger than the
buffer length, and drop out of the loop when that happens.
|
|
|
|
|
|
| |
* tapset/syscalls2.stp (syscall.sigaction32): Added
kernel.function("compat_sys_sigaction").
(syscall.sigaction32.return): Ditto.
|
|
|
|
|
|
|
|
|
|
| |
* tapset/aux_syscalls.stp (_struct_old_sigaction32_u): New function.
* tapset/syscalls2.stp (syscall.sigaction32): Uses new
_struct_old_sigaction32() function to provide a human readable version
of the sigaction argument.
* testsuite/systemtap.syscall/test.tcl (run_one_test): Use additional C
flags when pre-processing test files to better determine which tests are
valid on which platforms.
|
|
|
|
|
|
|
|
| |
* tapset/syscalls2.stp (syscall.readv): Removed old ppc hack.
(syscall.writev): Ditto.
* tapset/nd_syscalls2.stp (nd_syscall.readv): Removed mention of old ppc
hack.
(nd_syscall.writev): Ditto.
|
|
|
|
|
| |
* tapset/syscalls2.stp (syscall.pwrite32): Remove extra 'buf_uaddr'
assignment.
|
|
|
|
| |
The function sys32_mmap2 is removed since 2.6.33.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Older kernels don't have all GFP constants defined, and the fallback
kernel function probe fallbacks don't have the same dwarf variable
names as the kernel trace point probes. So replace them with variables
that are available. bytes_alloc was sometimes a long and sometimes a
string, this caused scripts to fail depending on which alternative was
chosen for a particular kernel. So make it a long always.
This isn't a full solution since kmalloc is always inlined which makes
the kernel.function("kmalloc").return probe fail.
* tapset/memory.stp: Define __GFP_THISNODE, __GFP_RECLAIMABLE,
GFP_TEMPORARY, GFP_HIGHUSER_MOVABLE and GFP_THISNODE when not yet
defined.
(__vm.kmalloc.kp): Use $flags, not $gfp_flags. Set bytes_alloc equal
to bytes_req.
(__vm.kmem_cache_alloc.kp): Likewise. And use $cachep->buffer_size
for bytes_req.
(__vm.kmalloc_node.kp): Likewise.
(__vm.kmem_cache_alloc_node.kp): Likewise.
(__vm.kfree.kp): Use $ibjp for ptr, not $return.
(__vm.kmem_cache_free.kp): Likewise.
* testsuite/buildok/vm.tracepoints.stp: Move vm.kmalloc test to...
* testsuite/buildok/vm.tracepoints.kmalloc.stp: ... here.
|
|
|
|
|
| |
Older kernels didn't define these constants, which are only used in
the tapset/scsi.stp describe_device_state() function.
|
|
|
|
|
| |
Older kernels might not have these defines available, so define them
if not yet there.
|
| |
|