summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Add $arch/nd_syscalls.stpJosh Stone2009-06-025-0/+1419
| | | | | These are all the dwarfless analogs to $arch/syscalls.stp. (Only i686 and x86_64 have been tested...)
* Clean up the formatting of $arch/syscalls.stpJosh Stone2009-06-025-149/+224
|
* Complete a few TODO probe points in nd_syscalls2Josh Stone2009-06-021-39/+96
| | | | This adds renameat, unlinkat, unshare, and compat_sys_semctl.
* Fixed cut-and-paste error.David Smith2009-06-021-1/+1
| | | | | * runtime/task_finder.c (__stp_call_mmap_callbacks_for_task): Fixed cut-and-paste error.
* Fix nd_syscall2 open.return typo.Mark Wielaard2009-06-021-2/+2
| | | | | * tapset/nd_syscalls2.stp (nd_syscall.open.return): Add commas after alternatives.
* More nd_syscalls2 cleanup, and add SYSCALL_WRAPPERSJosh Stone2009-06-021-291/+575
| | | | | | | - Fix a few more formatting issues - Add SYSCALL_WRAPPERS analogous to 132c33 tapset/syscalls2.stp Thanks to Przemysław Pawełczyk for the helpful translation scripts.
* Merge branch 'master' of ssh://sourceware.org/git/systemtapJosh Stone2009-06-022-2/+9
|\
| * Add debuginfo-install suggestion for kernel probing.William Cohen2009-06-011-1/+7
| |
| * Better sdt.exp test cleanup.David Smith2009-06-011-1/+2
| | | | | | | | * testsuite/systemtap.base/sdt.exp: Better cleanup.
* | Cache the last result of dwarf_getscopesJosh Stone2009-06-022-2/+27
| | | | | | | | | | | | | | | | | | | | | | This one function accounted for ~30% of my callgrind profile of "stap -l 'syscall.*'", even though it was only called ~1200 times. We call dwarf_getscopes for each $target variable, with the same parameters within a given probe. Since they're no nicely grouped, it's easy to just cache the most recent call, and the next few calls will be a hit. Overall this cuts the number of calls down to about 300, for an easy speed gain.
* | Move the blacklist functions into dwflppJosh Stone2009-06-013-321/+315
|/ | | | | | | For a call like "stap -l 'syscall.*'", I found that ~10% of the time was spent compiling the blacklist regexps over again for each probe point. By moving this functionality into the kernel dwflpp instance, we can reuse the regexps and get an easy speed boost.
* Avoid holding semaphore while making mmap callbacks.David Smith2009-06-011-52/+130
| | | | | | | | | * runtime/task_finder.c (__stp_call_mmap_callbacks_for_task): Grabs the 'mmap_sem' sempaphore. Caches vma information, releases the semaphore, then makes mmap callbacks. (__stp_utrace_task_finder_target_quiesce): Calls __stp_call_mmap_callbacks_for_task() to make mmap callbacks on initial attach to a task.
* Fix a few variables in nd_syscalls2Josh Stone2009-05-291-13/+13
|
* Clean up nd_syscalls2 formattingJosh Stone2009-05-291-556/+786
| | | | This applies some of the formatting rules specified in c0c1ccc.
* Kill trailing whitespace in nd_syscalls[2]Josh Stone2009-05-292-144/+144
|
* Convert nd_syscalls2 to kprobe.functionJosh Stone2009-05-291-437/+437
|
* Add JoeLynn Keniston to AUTHORSJosh Stone2009-05-291-0/+1
|
* Create nd_syscalls2.stpJoeLynn Keniston2009-05-291-0/+3916
| | | | | | | This contains an initial transformation of syscalls2.stp to start using numbered parameter access instead of relying on dwarf. Signed-off-by: Josh Stone <jistone@redhat.com>
* PR10206: Include NOTYPE symbols in stap-symbols.hAnanth N Mavinakayanahalli2009-05-281-0/+1
| | | | | On powerpc, function descriptors are in the .opd section as NO_TYPE. Include them in stap-symbols.h
* Avoid 1 case of holding a semaphore while mmap callbacks are being made.David Smith2009-05-281-57/+75
| | | | | | | | | | * runtime/task_finder.c (__stp_call_mmap_callbacks_with_addr): Renamed from __stp_call_mmap_callbacks_with_vma(). Also added some code from __stp_utrace_task_finder_target_syscall_exit() that locks the 'mmap_sem' semaphore. This avoids holding the semaphore while the mmap callbacks are made. (__stp_utrace_task_finder_target_syscall_exit): Just calls __stp_call_mmap_callbacks_with_addr() in the mmap case.
* Add ucontext-symbols and ucontext-unwind tapset functions to the manual.Mark Wielaard2009-05-282-1/+2
| | | | | | | * tapset/ucontext-unwind.stp (ubacktrace): Remove empty line before function triggering parse errors for doc scanner. * doc/SystemTap_Tapset_Reference/tapsets.tmpl (chapter context_stp): Add tapset/ucontext-symbols.stp and tapset/ucontext-unwind.stp.
* More testsuite tweaks to make it work with SYSCALL_WRAPPERSAnanth N Mavinakayanahalli2009-05-285-9/+9
|
* Suggest rpms to install using debuginfo-install.William Cohen2009-05-2715-66/+985
| | | | | | | | | The patch makes use of the RPM libraries to determine which rpm supplied the executable and from that information suggest a command to install the appropriate debuginfo rpm. This is enabled using the "--with-rpm" option for configure. Can be explicitly disabled with "--without-rpm".
* Fix nd_syscalls.stp for architectures using SYSCALL_WRAPPERS.Przemyslaw Pawelczyk2009-05-261-305/+568
| | | | | | | | | | | | Add kprobe.function("SyS_*") probe points to nd_syscall.* probe aliases. Analogue of commit 132c337c with two exceptions: - remove sufficiency of these new probe points (use '?' instead of '!'), because translator always considers them resolved, - make non-SyS probe points optional in probe aliases affected by syscall wrappers, because otherwise they will fail on such architectures. Signed-off-by: Josh Stone <jistone@redhat.com>
* Fix another kernel/kprobe.function conflictJosh Stone2009-05-222-7/+8
| | | | | | | | | | 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.
* PR10190: Suppress warnings for optional kprobesJosh Stone2009-05-222-5/+27
| | | | | | When a kernel.function or kprobe.function fails in registration, we usually print a WARNING and move on. With this patch, kprobes that have the optional '?' flag will not print any WARNING.
* Move the "pure" tag into the body of __is_user_regsJosh Stone2009-05-222-2/+4
| | | | | | The "/* pure */" tag has no effect unless it is within the embedded-C body of a function. In this instance, they were accidentally moved out during the syscall cleanups.
* Use embedded-C for empty functionsJosh Stone2009-05-223-12/+6
| | | | | | | | | | The functions asmlinkage() and fastcall() are used to help access syscall parameters on i686. All other archs don't need this, but they still define empty functions to shield the callers from arch details. However, stap issues warnings for empty script-level functions. This patch changes them to "%{ /* pure */ %}" so there's no complaint, and they will still get optimized away.
* Uncomment 'name' variable in nd_syscall.lseek probe point.Przemyslaw Pawelczyk2009-05-221-1/+1
| | | | Signed-off-by: Josh Stone <jistone@redhat.com>
* Add missing probe points in nd_syscalls.stp.Przemyslaw Pawelczyk2009-05-221-0/+154
| | | | | | | | Add probe points for faccessat, fchmodat, fchownat, linkat and mknodat. Analogue of commits: a3d153e5, 335972be, 46e2c2c1, c815c982, dac6e242 and bad69f1d. Signed-off-by: Josh Stone <jistone@redhat.com>
* Remove return probes for exit[_group] in nd_syscalls.stp.Przemyslaw Pawelczyk2009-05-221-3/+4
| | | | | | Analogue of commit 39a8b0bc. Signed-off-by: Josh Stone <jistone@redhat.com>
* Unify formatting of nd_syscalls.stp.Przemyslaw Pawelczyk2009-05-221-110/+103
| | | | | | Rules were already specified in commit c0c1ccc6. Signed-off-by: Josh Stone <jistone@redhat.com>
* Restore staprun's support for REAL_UID/GIDJosh Stone2009-05-221-1/+14
| | | | | This is needed for run-stap so that stapio and all child processes can run as the originally invoking user instead of root.
* PR10182: clean uprobes.ko during rpm upgradeFrank Ch. Eigler2009-05-211-0/+7
|
* some versions of bundled elfutils needs m4 for buildingFrank Ch. Eigler2009-05-211-0/+1
|
* Merge branch 'master' of ssh://sources.redhat.com/git/systemtapWilliam Cohen2009-05-208-173/+258
|\
| * Fix gcc warning about Dwarf_Addr initialization.Mark Wielaard2009-05-211-1/+1
| | | | | | | | * translate.cxx (dump_unwindsyms): Initialize eh_frame to 0, not NULL.
| * PR10177: init/kill time in sleepy context onlyJosh Stone2009-05-205-44/+42
| | | | | | | | | | | | | | | | | | | | | | | | 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.
| * Properly read eh_frame and pass is_ehframe correctly.Mark Wielaard2009-05-202-8/+12
| | | | | | | | | | | | | | | | | | * runtime/unwind.c (adjustStartLoc): Add extra dbug_unwind. (_stp_search_unwind_hdr): Always pass true for is_ehframe. (unwind_frame): Properly pass through is_ehframe to adjustStartLoc(). (unwind): Add extra dbug_unwind. * translate.cxx (dump_unwindsyms): Output and use correct eh_frame and eh_len.
| * Use debug_frame table, then fallback to eh_frame when necessary.Mark Wielaard2009-05-201-24/+39
| | | | | | | | | | | | | | * runtime/unwind.c (unwind): Call new unwind_frame() first with debug_frame data, then if that wasn't able to unwind again with eh_frame data. (unwind_frame): Adapted version of old unwind() function that takes a table, table length and whether it is an eh_frame table.
| * Pass and use ptrType and is_ehframe to unwind adjustStartLoc.Mark Wielaard2009-05-201-53/+66
| | | | | | | | | | | | | | * runtime/unwind.c (adjustStartLoc): Add ptrType and is_ehframe as arguments. Use these to adjust location when necessary. (DEBUG_UNWIND): Move block before adjustStartLoc. Pass false for is_ehframe throughout.
| * Fetch and store both debug_frame and eh_frame tables.Mark Wielaard2009-05-204-58/+113
| | | | | | | | | | | | | | | | | | | | | | | | | | * runtime/sym.h (_stp_module): Remove unwind_data, unwind_data_len and unwind_is_ehframe fields. Add debug_frame, eh_frame, debug_frame_len, eh_frame_len and eh_frame_addr fields. * runtime/unwind.c: Use debug_frame and debug_frame_len instead of unwind_data and unwind_data_len throughout. (cie_for_fde): Take unwind_data and is_ehframe as direct arguments. * runtime/unwind/unwind.h (cie_for_fde): New function declaration. * translate.cxx (get_unwind_data): Fetch and return both debug_frame and eh_frame tables. (dump_unwindsyms): Dump both debug_frame and eh_frame tables.
* | Add the schedtimes.stp and associated schedtimes.meta files to the examples.William Cohen2009-05-206-0/+232
|/
* PR10172 sdt.h on powerpc Error: junk at end of line: `0'Mark Wielaard2009-05-201-1/+1
| | | | | | * includes/sys/sdt.h (STAP_NOP): __powerpc__ doesn't want an extra 0. Tested-by: Mahesh Jagannath Salgaonkar <mahesh@linux.vnet.ibm.com>
* Adapt sid to latest kernelWenji Huang2009-05-191-0/+4
|
* Disable building grapher code in rpm.William Cohen2009-05-191-1/+8
|
* Fix alignment of probe aliases in syscalls(|2).stp.Przemyslaw Pawelczyk2009-05-192-736/+736
| | | | | | | Align probe points in probe aliases to equal sign using spaces as it's already done in nd_syscalls.stp. Signed-off-by: Josh Stone <jistone@redhat.com>
* Unify formatting of syscalls.stp and syscalls2.stp.Przemyslaw Pawelczyk2009-05-192-1059/+1407
| | | | | | | | | | | | | | | Rules: - Specify probe points for aliases starting from the alias declaration line and with one probe point per line. - Use K&R indent style -- probe alias/point/function opening brace goes to the line following the declaration, other opening braces are kept on the same line as the control statements. - Indent using tabs. - Surround operators with spaces. - Put spaces after commas. - Avoid trailing whitespaces. Signed-off-by: Josh Stone <jistone@redhat.com>
* Correct misnamed variables in syscalls.stp.Przemyslaw Pawelczyk2009-05-191-33/+27
| | | | | | | Rename variables accordingly to argument names used in man pages in syscall.(faccess|fchmod|fchown|link|mknod)at probe points. Signed-off-by: Josh Stone <jistone@redhat.com>
* Enhance -x option checking to only accept valid pidSunzen Wang2009-05-191-1/+6
| | | | Fix: Enhance -x option checking to only accept valid pid