| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
|
|
|
| |
* testsuite/buildok/hwbkpt.stp: Just use stap directly after #!.
|
|
|
|
|
| |
* testsuite/buildok/hwbkpt.stp: Switch by CONFIG_* and be
executable.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
| |
* parse.cxx (parser::parse_statement): Squash semicolon after non-block-like
statements.
* testsuite/buildok/semicolon.stp: New test.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* tapset/ioscheduler.stp : Make probe optional.
* tapset/irq.stp : Ditto.
* tapset/scheduler.stp : Ditto.
* tapset/tcpmib.stp : Ditto.
* tapset/linuxmib.stp : Switch variable by version.
* tapset/tty.stp : Ditto.
* testsuite/buildok/irq.stp : Make probe test optional.
* testsuite/buildok/tty.stp : Ditto.
* testsuite/systemtap.examples/network/netdev.stp : Ditto.
* testsuite/buildok/tcpmib-all-probes.stp : Add embedded functions.
|
|
|
|
|
|
| |
* tapset/ioblock.stp: Update comment and variables.
* testsuite/buildok/ioblock_test.stp: Add parameters.
* testsuite/buildok/ioscheduler.stp: Remove redundant parameters.
|
|
|
|
|
| |
Added testcases for these probes.
Also, modified comments in ioblock.stp so that tapset docmentation can be automatically generated for this tapset.
|
|
|
|
|
|
|
| |
* tapset/networking.stp: Made 'netdev.change_rx_flag' and
'netdev.get_stats' optional, since those functions don't exist on
RHEL5.
* testsuite/buildok/netdev.stp: Ditto.
|
|
|
|
|
|
|
|
| |
* dwflpp.h (vardie_from_symtable): New method.
* dwflpp.cxx (vardie_from_symtable): New method.
(literal_stmt_for_local): Use vardie_from_symtable when no location
attribute and DW_AT_external.
* testsuite/buildok/xtime.stp: New testcase from PR10622.
|
| |
|
|
|
|
|
| |
This is a basic test to assure that the tty tapset is working
compiling and working properly
|
| |
|
|
|
|
|
|
|
| |
* tapset/task_time.stp: New tapset.
* testsuite/buildok/task_test.stp: Add new task_time functions.
* doc/SystemTap_Tapset_Reference/tapsets.tmpl: Add new section on
Task Time Tapset. Include tapset/task_time.stp.
|
|
|
|
|
|
|
|
| |
* session.h (kernel_config[]): New session field.
* main.cxx (parse_kernel_config): Populate it.
* parse.cxx (eval_comparison): Use it.
* testsuite/buildok/utrace.stp, testsuite/parseok/kconfig.stp: New tests.
* NEWS, stap.1.in, doc/langref.tex: Mention it.
|
|
|
|
|
|
|
| |
* tapset/proc_mem.stp: New tapset.
* testsuite/buildok/proc_mem.stp
* doc/SystemTap_Tapset_Reference/tapsets.tmpl (memory_stp): Include
tapset/proc_mem.stp.
|
|
|
|
|
|
|
|
|
| |
This patch adds kernel tracepoints based probes to the scheduler tapset
along with the testcase, scheduler-test-tracepoints.stp and an example
script, sched_switch.stp.
Signed-off-by: Kiran Prakash <kiran@linux.vnet.ibm.com>
Signed-off-by: Josh Stone <jistone@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
libdwfl tries to resolve all relocations in a module debuginfo file and
if it cannot find a symbol used in a relocation it will fail when
dwfl_module_getdwarf() is called. So we must make sure all possible
dependencies of the module are also in the dwfl. We do this by trying
to find and parse the modules.dep file and insert all dependencies
into the dwfl.
* setupdwfl.cxx (elfutils_kernel_path): Lift from setup_dwfl_kernel and
make static.
(is_comma_dash): New function.
(modname_from_path): Likewise.
(setup_mod_deps): Likewise.
(setup_dwfl_report_kernel_p): Call setup_mod_deps().
* testsuite/buildok/pr10678.stp: New test.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* testsuite/buildok/fortysix.stp: Add -w.
* testsuite/buildok/fortytwo.stp: Likewise.
* testsuite/buildok/four.stp: Avoid empty begin.
* testsuite/buildok/memory-all-probes.stp: Add -w.
* testsuite/buildok/nfsd-all-probes.stp: Likewise.
* testsuite/buildok/nine.stp: Likewise.
* testsuite/buildok/one.stp: Use q.
* testsuite/buildok/printf.stp: Remove unused foo(), printf x.
* testsuite/buildok/process-all-probes.stp: Add -w.
* testsuite/buildok/scheduler-all-probes.stp: Likewise.
* testsuite/buildok/scsi-all-probes.stp: Likewise.
* testsuite/buildok/signal-all-probes.stp: Likewise.
* testsuite/buildok/sixteen.stp: log in foo().
* testsuite/buildok/socket-all-probes.stp: Add -w.
* testsuite/buildok/stat_insert.stp: Declare x, y global.
* testsuite/buildok/syscall.stp: Add -w.
* testsuite/buildok/tcp-all-probes.stp: Likewise.
* testsuite/buildok/thirtyone.stp: Likewise.
* testsuite/buildok/twentyeight.stp: log absolute.
* testsuite/buildok/twentyfour.stp: Add -w.
* testsuite/buildok/udp-all-probes.stp: Likewise.
* testsuite/buildok/vfs-all-probes.stp: Likewise.
|
|
|
|
|
|
|
|
|
|
|
| |
* tapset/logging.stp (ftrace): New function.
(*): Add kerneldoc to other functions.
* doc/SystemTap_Tapset_Reference/tapsets.tmpl: Process logging.stp.
* stapfuncs.3stap.in: Remove "LOGGING" section, now redundant.
* runtime/autoconf-trace-printk.c: New autoconf test.
* buildrun.cxx (compile_pass): Build it.
* NEWS: Mention it.
* testsuite/buildok/logging.stp: Test it.
|
|
|
|
|
|
|
|
|
| |
Saves a couple of seconds per individual test by doing them all in one.
* testsuite/buildok/context_test.stp: Incorporate:
modname.stp, probefunc.stp, probemod.stp, symdata.stp, symname.stp,
uaddr.stp, ustack.stp, usymdata.stp, usymname.stp.
Delete individual tests.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
This is a basic script to assure that the network devices tapset
is building (-p4) properly.
This script is basically a copy of another netdev example that is
located on testsuite/systemtap.examples/network/netdev.stp
Signed-off-by: Josh Stone <jistone@redhat.com>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
events. The probes mirror many of the SNMP statistics defined
in /usr/include/linux/snmp.h. Each probe represents a single SNMP
statistic or MIB. Each of the probe's handler is called when system
performs an operation that would alter the associated statistic. Along
with each probe is defined an indexed set of counters used to record
probe hits. The probe handlers call a user supplied callback functions
to determine which counter to alter. The user's callback should returns a
key value that will be used to index the counter. For example a callback
could return a unique value for each socket. This would results in a
separate counter being used for each socket.
tcpipstat.stp shows how snmp tapsets could be used. Tcpipstat collects and
displays network statistics related to individual TCP sockets or groups of
sockets. The statistics that are collected are simmer to that of the command
netstat -s, only sorted and grouped by individual sockets.
Signed-off-by: David Wilder <dwilder@us.ibm.com>
|
|
|
|
|
|
|
|
| |
* dwflpp.cxx (name_has_wildcard): Make static.
(dwfl_report_offline_predicate): Check & adjust behavior.
* dwflpp.h: Corresponding changes.
* tapsets.cxx: Note that kern_dw[] keys may be wildcard strings.
* testsuite/buildok/fortysix.stp: New test.
|
|
|
|
|
| |
* translate.cxx (translate_pass): Emit module_parm stuff at the very end.
* testsuite/buildok/null.stp: New test.
|
|
|
|
|
|
|
|
| |
* tapset/context.stp: Add pgrp() function.
* testsuite/buildok/context_test.stp: Add pgrp() call.
* stapfuncs.3stap.in: Describe pgrp() and sid().
Signed-off-by: Josh Stone <jistone@redhat.com>
|
|
|
|
|
|
|
| |
* tapsets.cxx (dwarf/kprobe_derived_...::emit_decl/init): Define
and use KRETPROBE instead of hard-coded max(...) values. Raise
the default 50%.
* testsuite/buildok/thirtytwo.stp: New test.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Both kernel.function and kprobe.function were defining a global array
stap_unreg_kprobes to use in bulk kprobes unregistration. The compiler
allowed the duplicate definition as long as they were the same size, as
it was when exercised in buildok/thirtyone.
kprobe.function now uses a separate stap_unreg_kprobes2, and the
testcase is modified to produce an imbalanced number of probes.
|
|
|
|
|
|
|
|
|
|
|
|
| |
Previously, _stp_init_time and _stp_kill_time were being called from
begin/end/error probes, which will run with preemption disabled. The
BUG reported on RT kernels showed that cpufreq_unregister_notifier can
end up sleeping, which violates our preemption block.
This patch moves the init/kill into systemtap_module_init/exit, where it
is safe to sleep. The code maintains a new predicate with the define
STAP_NEED_GETTIMEOFDAY, so we don't still incur any timer overhead if
it's not used.
|
|
|
|
|
| |
* testsuite/buildok/tcp_test.stp (tcp.sendmsg): Use sock for testing.
(tcp.recvmsg): Likewise.
|
|
|
|
|
|
|
|
|
|
| |
The test was using optional probes on uptime_read_proc, which doesn't
exist anymore on 2.6.30. The problem is that when those optional probes
are skipped, the test doesn't really do anything.
For a buildok test of the context functions, the actual probe point
doesn't matter, so I've changed it to just a begin probe that calls all
of the functions.
|
| |
|
|
|
|
| |
Reported-By: Petr Muller <pmuller@redhat.com>
|
|
|
|
| |
While there, fix minor issues with the s390x syscall tapset.
|
|
|
|
|
| |
* tapsets.cxx (kprobe_derived_probe): Use enter_k[ret]probe>>2<<_probe.
* testsuite/buildok/thirtyone.stp: Test this.
|
|
|
|
|
|
|
|
| |
* runtime/sym.c (_stp_usymbol_print): New function.
* tapset/ucontext-unwind.stp (print_ubacktrace): New tapset function.
(ubacktrace): Likewise.
* tapset/ucontext-symbols.stp (print_ustack): Likewise.
* testsuite/buildok/ustack.stp: New test for above three functions.
|
|
|
|
|
|
|
| |
The overlapping process.* tapsets are now separated. Those probe points
documented in stapprobes(3stap) remain the same. Those that were formerly
in stapprobes.process(3stap) have been renamed to kprocess, to reflect
their kernel perspective on processes.
|
|
|
|
|
| |
* tapset/context.stp (uaddr): New sfunction.
* testsuite/buildok/uaddr.stp: New test.
|
|
|
|
|
|
|
|
|
| |
* tapset/context-symbols.stp (syname, symdata): Pass NULL for kernel address.
* tapset/ucontext-symbols.stp: New file defining usymname and usymdata.
* testsuite/systemtap.context/usymbols.exp: Use usymname, remove
STP_NEED_VMA_TRACKER hack.
* testsuite/buildok/usymdata.stp: New test.
* testsuite/buildok/usymname.stp: Likewise.
|