]> sourceware.org Git - systemtap.git/log
systemtap.git
12 years agoMention task_finder2 work in NEWS.
David Smith [Thu, 5 Jan 2012 18:58:29 +0000 (12:58 -0600)]
Mention task_finder2 work in NEWS.

12 years agoFix gcc 4.7 compile issues (most related to gcc PR49745).
David Smith [Thu, 5 Jan 2012 17:16:27 +0000 (11:16 -0600)]
Fix gcc 4.7 compile issues (most related to gcc PR49745).

* cache.cxx: Include <unistd.h>
* session.cxx: Ditto.
* setupdwfl.cxx: Ditto.
* translate.cxx (emit_symbol_data): Set correct type on structure
  initialization to avoid gcc 4.7 error.

12 years agoDo not exit sdt_misc.exp if test #1 fails.
Stan Cox [Tue, 3 Jan 2012 23:13:22 +0000 (18:13 -0500)]
Do not exit sdt_misc.exp if test #1 fails.

* sdt_misc.exp:  Continue if test #1 fails as V1 on s390 may fault getting $arg1

12 years agoruntime: autoconf for fs_supers hlist change
Frank Ch. Eigler [Tue, 3 Jan 2012 21:46:42 +0000 (16:46 -0500)]
runtime: autoconf for fs_supers hlist change

* runtime/autoconf-fs_supers-hlist.c: New test.
* buildrun.cxx (compile_pass): Run it.
* runtime/transport/transport.c (_stp_get_root_dir): Use
  hlist_entry etc. if needed.

12 years agoruntime: autoconf for relay umode_t change
Frank Ch. Eigler [Tue, 3 Jan 2012 20:02:25 +0000 (15:02 -0500)]
runtime: autoconf for relay umode_t change

* runtime/autoconf-relay-umode_t.c: New test.
* buildrun.cxx (compile_pass): Run it.
* runtime/transport/relay_v2.c (__stp_relay_create_buf_file_callback):
  Change int -> umode_t if needed.

12 years agotestsuite: unload uprobes at start of run
Frank Ch. Eigler [Fri, 30 Dec 2011 16:53:52 +0000 (11:53 -0500)]
testsuite: unload uprobes at start of run

* testsuite/lib/systemtap.exp (setup_systemtap_environment):
  In case we have an old one still sitting around, zap it, to
  force its rebuild.

12 years agowhen building uprobes.ko, don't suppress make stderr
Frank Ch. Eigler [Fri, 30 Dec 2011 16:52:45 +0000 (11:52 -0500)]
when building uprobes.ko, don't suppress make stderr

* buildrun.cxx (make_uprobes): Build with same quietness policy
  as base systemtap module, rather than -vvvv policy for tracepoint/query
  test modules.

12 years agorefresh AUTHORS
Frank Ch. Eigler [Sat, 31 Dec 2011 03:41:09 +0000 (22:41 -0500)]
refresh AUTHORS

12 years agorebuild example indexes after keyword tweaks
Frank Ch. Eigler [Sat, 31 Dec 2011 03:40:32 +0000 (22:40 -0500)]
rebuild example indexes after keyword tweaks

12 years agoCorrect and consistent .meta files for example scripts: README
Fredrik Östman [Fri, 23 Dec 2011 08:35:04 +0000 (08:35 +0000)]
Correct and consistent .meta files for example scripts: README

Signed-off-by: Fredrik Östman <fredrik_oestman@mentor.com>
12 years agoCorrect and consistent .meta files for examples
Fredrik Östman [Fri, 23 Dec 2011 08:21:30 +0000 (08:21 +0000)]
Correct and consistent .meta files for examples

Signed-off-by: Fredrik Östman <fredrik_oestman@mentor.com>
12 years agodiagnostics: Let --vp 003 explain why char[] vs. char* is chosen for probe metadata
Frank Ch. Eigler [Thu, 29 Dec 2011 15:18:39 +0000 (10:18 -0500)]
diagnostics: Let --vp 003 explain why char[] vs. char* is chosen for probe metadata

New:
adapt location:14max - 4045132/288938tot =>[]
adapt derivation:39max - 11268582/288938tot =>[]
adapt pp:161max - 24877446/288938tot =>*
adapt pn:161max - 24877446/288938tot =>*

* translate.cxx (translate_pass): Change verbosity>2 diagnostics.

12 years agostap-report: also include lsmod results
Frank Ch. Eigler [Wed, 28 Dec 2011 16:54:23 +0000 (11:54 -0500)]
stap-report: also include lsmod results

12 years agoUse function.call and function.return in all thread_indent() examples.
Mark Wielaard [Sun, 25 Dec 2011 19:56:53 +0000 (20:56 +0100)]
Use function.call and function.return in all thread_indent() examples.

If the .call modifier isn't used the function probes will match both .call
and .inline, but .return doesn't match any inlined functions leading to
unbalanced thread_indent output.

12 years ago$SYSTEMTAP_SYNC: new environment variable for staprun
Frank Ch. Eigler [Fri, 23 Dec 2011 19:49:56 +0000 (14:49 -0500)]
$SYSTEMTAP_SYNC: new environment variable for staprun

If set, it runs a sync(2) before the stap init_module(2)s.  This is
only for helping bring up stap on unstable environments, so is not
formally documented.

12 years agostap-report: include CONFIG_MODULE_* items too
Frank Ch. Eigler [Fri, 23 Dec 2011 19:38:15 +0000 (14:38 -0500)]
stap-report: include CONFIG_MODULE_* items too

12 years agotapset: separate env_var() from context.stp
Frank Ch. Eigler [Thu, 22 Dec 2011 02:06:24 +0000 (21:06 -0500)]
tapset: separate env_var() from context.stp

If it's left in context.stp, it will drag in tokenize.stp, which in
turns drags in an unoptimizable  %{ #define STAP_NEED_CONTEXT_TOKENIZE 1 %}
which in turns enlarges the context.

* tapset/context-envvar.stp: New file. Steal env_var() from ...
* tapset/context.stp: ... from here.

12 years agotestsuite: disable unprivileged_* tests on non-uprobes platforms
Frank Ch. Eigler [Wed, 21 Dec 2011 23:16:07 +0000 (18:16 -0500)]
testsuite: disable unprivileged_* tests on non-uprobes platforms

12 years agoi18n: update po/* stuff from transifex and source changes
Frank Ch. Eigler [Wed, 21 Dec 2011 19:57:22 +0000 (14:57 -0500)]
i18n: update po/* stuff from transifex and source changes

12 years agotestsuite: typo fix for tcl uprobe_p'ing
Frank Ch. Eigler [Wed, 21 Dec 2011 19:05:25 +0000 (14:05 -0500)]
testsuite: typo fix for tcl uprobe_p'ing

commit 55e2452 introduced a typo.  It was introduced by a random
quantum fluctuation, honest.

12 years agotestsuite: more use [uprobes_p] as applicability test
Frank Ch. Eigler [Wed, 21 Dec 2011 18:48:12 +0000 (13:48 -0500)]
testsuite: more use [uprobes_p] as applicability test

12 years agoPR13536: eliminate staprun -u uprobes check/load race condition.
Frank Ch. Eigler [Wed, 21 Dec 2011 18:34:05 +0000 (13:34 -0500)]
PR13536: eliminate staprun -u uprobes check/load race condition.

(Note that there is no security impact to this change.  The worst that
could happen before were unnecessary staprun startup errors.)

* runtime/staprun/staprun_funcs.c (insert_module): Return a nontrivial
  error return code in some cases.  (More needed!)  Don't kvetch about
  a failing init_module(2).
* runtime/staprun/staprun.c (enable_uprobes): Don't grep kallsyms for
  an optimistic early abort.  Just call insert_module.  Don't freak upon
  an EEXIST.
  (insert_stap_module): Kvetch about a failing insert_module().

* testsuite/systemtap.base/buildid.exp: Stop using that profane artefact
  of an obsolete past, "staprun -u".

12 years agotestsuite: use [uprobes_p] as applicability test
Frank Ch. Eigler [Wed, 21 Dec 2011 18:30:28 +0000 (13:30 -0500)]
testsuite: use [uprobes_p] as applicability test

This is necessary as [utrace_p] is becoming trueish for
tracepoint/taskfinder2 kernels.

12 years agomodinfo: Apply to the uprobes hash name too
Josh Stone [Tue, 20 Dec 2011 22:36:53 +0000 (14:36 -0800)]
modinfo: Apply to the uprobes hash name too

Since commit 76d01f36 added the modinfo values to uprobes.ko, then we
need to account for that in the hashed name used for caching.

12 years agoPR13274 related: Added class to save and restore variables
Chris Meek [Tue, 20 Dec 2011 22:14:50 +0000 (17:14 -0500)]
PR13274 related: Added class to save and restore variables

Added a class save_and_restore to automatically save the value of
a variable, and restore it and the end of the calling function.
Can optionally take a variable to initialize the value to something
after saving it.

12 years agoPR13274: Fixed testsuite for standard warning processing (elaborate.cxx)
Chris Meek [Tue, 20 Dec 2011 22:11:00 +0000 (17:11 -0500)]
PR13274: Fixed testsuite for standard warning processing (elaborate.cxx)

12 years agoPR13274: Standardized Warning Processing (elaborate.cxx)
Chris Meek [Tue, 20 Dec 2011 22:04:31 +0000 (17:04 -0500)]
PR13274: Standardized Warning Processing (elaborate.cxx)

Changed warning printing to use session.print_warning(),
and cleaned up warnings being printed.

Also changed the logic in semantic_pass_optimize1 and 2
to either print all warnings if the verbosity is high enough
or suppress all warnings after the 1st itteration.

12 years agoPR13274: Fixed testsuite for standard warning processing (without elaborate.cxx)
Chris Meek [Thu, 15 Dec 2011 19:03:47 +0000 (14:03 -0500)]
PR13274: Fixed testsuite for standard warning processing (without elaborate.cxx)

Since we are now using "WARNING" rather than "Warning", some of the
expect statements in some test cases needed to be tweaked.

12 years agoPR13274: Standardized Warning Processing (without elaborate.cxx)
Chris Meek [Thu, 15 Dec 2011 18:54:43 +0000 (13:54 -0500)]
PR13274: Standardized Warning Processing (without elaborate.cxx)

Changed it so we always use session.print_warning() rather than
an explicit call to clog or cerr. (There are a few cases where
the session is not available, so they were left as is, but
marked up with an // XXX needs-session comment.)

Also changed print_warning() to check for suppress_warnings, so
we no longer have to explicitly check for it when calling
print_warning(). There are a few cases where I left in the
explicit check, specifically when there was more code than
just a simple call to print_warning() within it.

Also standardized the use of "WARNING:". All warnings should now
use "WARNING:" rather than "Warning:" or "warning:".

12 years agoTest with postgres-9.1.2
Stan Cox [Tue, 20 Dec 2011 21:45:06 +0000 (16:45 -0500)]
Test with postgres-9.1.2

* postgres.exp (postgresrelease):  Update.

12 years agomodinfo: also apply to uprobes.ko
Frank Ch. Eigler [Tue, 20 Dec 2011 20:52:27 +0000 (15:52 -0500)]
modinfo: also apply to uprobes.ko

Continue commit 633e5ca70 with respect to a self-built uprobes.ko,
in that --modinfo k=V values should be propagated there too.

12 years agoPR13489: don't confuse staprun's "is uprobes in the kernel?" logic
Frank Ch. Eigler [Tue, 20 Dec 2011 20:49:35 +0000 (15:49 -0500)]
PR13489: don't confuse staprun's "is uprobes in the kernel?" logic

After recent commits associated with PR13489, a stap module may
include a few symbols named kallsyms_*, specifically
*unregister_uprobe.  This confused staprun's simpleminded grep on
/proc/kallsyms to guess that uprobes per se was in the kernel, even
though it was just some peer stap module.  So now grep for a more
picky regexp, including all-important whitespace.

* runtime/staprun/staprun.c (enable_uprobes): Look for
  " unregister_uprobe\t" instead of "unregister_uprobe".

12 years agoUpdate DEPRECATION section of stap.1 with list of deprecated probe types.
David Smith [Tue, 20 Dec 2011 20:11:57 +0000 (14:11 -0600)]
Update DEPRECATION section of stap.1 with list of deprecated probe types.

12 years agoPR13520: force-create $SYSTEMTAP_DIR
Frank Ch. Eigler [Tue, 20 Dec 2011 16:41:15 +0000 (11:41 -0500)]
PR13520: force-create $SYSTEMTAP_DIR

wcohen reports dejagnu/tcl errors otherwise, due to commit f1d4f431.

12 years agoPR13520: perspire to keep lockdep enabled, despite TAINT_OOT_MODULE logic
Frank Ch. Eigler [Tue, 20 Dec 2011 04:43:16 +0000 (23:43 -0500)]
PR13520: perspire to keep lockdep enabled, despite TAINT_OOT_MODULE logic

lockdep is nice to have while running the systemtap testsuite on
recent kernels.

* testsuite/lib/systemtap.exp (setup_systemtap_environment): Make it so.

12 years agoPR13520: add support for loading default options from $SYSTEMTAP_DIR/rc
Frank Ch. Eigler [Tue, 20 Dec 2011 04:39:37 +0000 (23:39 -0500)]
PR13520: add support for loading default options from $SYSTEMTAP_DIR/rc

* main.cxx (main): Load some wordexp()d lines from $SYSTEMTAP_DIR/rc,
  prefixing incoming argc/argv.
* NEWS, stap.1, session.cxx (usage): Document it.

12 years agotask-finder2: fix thinko in uprobes_p test
Frank Ch. Eigler [Tue, 20 Dec 2011 04:36:18 +0000 (23:36 -0500)]
task-finder2: fix thinko in uprobes_p test

commit 771b667 missed a part.

* testsuite/lib/systemtap.exp (uprobes_p): Set path.

12 years agoMake a simple hint for the ``cancelable'' logging exercise.
William Cohen [Mon, 19 Dec 2011 21:30:42 +0000 (16:30 -0500)]
Make a simple hint for the ``cancelable'' logging exercise.

12 years agoRevert "Add in hint for ``cancelable'' logging tapset exercise."
William Cohen [Mon, 19 Dec 2011 21:20:59 +0000 (16:20 -0500)]
Revert "Add in hint for ``cancelable'' logging tapset exercise."

This reverts commit c19343f71a8809cd46080e0ad968ad3006e9e980.

12 years agoAdd in hint for ``cancelable'' logging tapset exercise.
William Cohen [Mon, 19 Dec 2011 21:19:32 +0000 (16:19 -0500)]
Add in hint for ``cancelable'' logging tapset exercise.

12 years agoRevert "Remove "cancelable logging" exercise, the speculative.stp tapset implements it"
William Cohen [Mon, 19 Dec 2011 21:00:01 +0000 (16:00 -0500)]
Revert "Remove "cancelable logging" exercise, the speculative.stp tapset implements it"

This reverts commit 7dd177f6e6ce6488e65b6bbcdd7d98bed15e5689.

12 years agoRemove "cancelable logging" exercise, the speculative.stp tapset implements it
William Cohen [Mon, 19 Dec 2011 20:45:10 +0000 (15:45 -0500)]
Remove "cancelable logging" exercise, the speculative.stp tapset implements it

12 years agoAdd a test for the speculative.stp tapset
William Cohen [Fri, 16 Dec 2011 19:47:00 +0000 (14:47 -0500)]
Add a test for the speculative.stp tapset

A simple test to make sure that the speculative.stp tapset can be compiled
and used.

12 years agoAdd the speculative.stp tapset
William Cohen [Fri, 16 Dec 2011 18:40:01 +0000 (13:40 -0500)]
Add the speculative.stp tapset

The speculative.stp tapset allow one to speculative add things to
output buffers and then later commit or discard the information in the
buffers.  Four functions in the tapset:

speculation() - function to give an id for speculative buffer
speculate() - add output to a speculative buffer
discard() - remove output for a speculative buffer
commit() - output data for a speculative buffer

12 years agoSync up task_finder2.c with task_finder.c
David Smith [Mon, 19 Dec 2011 20:25:36 +0000 (14:25 -0600)]
Sync up task_finder2.c with task_finder.c

* runtime/task_finder2.c: Sync up with runtime/task_finder.c.  Remove some
  unused code and update a privilege check.

12 years agoPR13489, the neverending kludge story. Resolve RHEL5's old utrace conflicts.
Frank Ch. Eigler [Mon, 19 Dec 2011 14:03:58 +0000 (09:03 -0500)]
PR13489, the neverending kludge story.  Resolve RHEL5's old utrace conflicts.

RHEL5's old utrace uses utrace_native_view() instead of
task_user_regset_view(), so we shouldn't be so stuck on trying to find
it.  To add insult to injury, any attempt to use kallsyms* to look up
the latter results in an unloadable module since kallsyms* is not
exported in these old kernels.

* transport/transport.c (_stp_transport_init): Only look for
  task_user_regset_view for other than old rhel5 utrace.

12 years agoPR13514: don't printk on transport out-of-memory
Frank Ch. Eigler [Sun, 18 Dec 2011 21:00:55 +0000 (16:00 -0500)]
PR13514: don't printk on transport out-of-memory

That can exacerbate the problem, as in this warning:

Dec 18 15:07:01 vm-rhel5-64 kernel: [182989.355493] BUG: scheduling while atomic: syslogd/0x00000002/5499, CPU#0
Dec 18 15:07:01 vm-rhel5-64 kernel: [182989.355495] INFO: lockdep is turned off.
Dec 18 15:07:01 vm-rhel5-64 kernel: [182989.355497] Modules linked in: stap_8f6127053d4df9e6cb23117ca0e09ef6_159315 xt_tcpudp iptable_nat nf_nat nf_conntrack_ipv4 nf_defrag_ipv4 ip_tables x_tables netconsole configfs hidp nfs nfs_acl auth_rpcgss rfcomm l2cap crc16 bluetooth rfkill lockd sunrpc ib_iser rdma_cm ib_cm iw_cm ib_sa ib_mad ib_core ib_addr ipv6 iscsi_tcp cxgb3i cxgb3 mdio libiscsi_tcp libiscsi scsi_transport_iscsi loop dm_multipath scsi_dh video output sbs sbshc battery ac lp sg sr_mod cdrom snd_seq_dummy parport_pc tpm_tis parport floppy tpm snd_seq_oss tpm_bios serio_raw snd_seq_midi_event snd_seq button snd_seq_device snd_pcm_oss snd_mixer_oss snd_pcm 8139too snd_timer snd 8139cp soundcore snd_page_alloc mii pcspkr dm_snapshot dm_zero dm_mirror dm_region_hash dm_log dm_mod pata_acpi ata_piix ata_generic libata sd_mod crc_t10dif scsi_mod ext3 jbd mbcache uhci_hcd ohci_hcd ehci_hcd [last unloaded: stap_3dd46547b1387d9f45df4746d5032b29_1810]
Dec 18 15:07:01 vm-rhel5-64 kernel: [182989.355566] irq event stamp: 1071890
Dec 18 15:07:01 vm-rhel5-64 kernel: [182989.355567] hardirqs last  enabled at (1071889): [<ffffffff8137c5cb>] _raw_spin_unlock_irqrestore+0x44/0x79
Dec 18 15:07:01 vm-rhel5-64 kernel: [182989.355574] hardirqs last disabled at (1071890): [<ffffffff8137a494>] schedule+0xf/0x25
Dec 18 15:07:01 vm-rhel5-64 kernel: [182989.355578] softirqs last  enabled at (0): [<ffffffff81043d8e>] copy_process+0x5e3/0x139b
Dec 18 15:07:01 vm-rhel5-64 kernel: [182989.355582] softirqs last disabled at (0): [<(null)>] (null)
Dec 18 15:07:01 vm-rhel5-64 kernel: [182989.355586] Pid: 5499, comm: syslogd Tainted: G        W   2.6.33.9-rt31.64.el5rtdebug #1
Dec 18 15:07:01 vm-rhel5-64 kernel: [182989.355587] Call Trace:
Dec 18 15:07:01 vm-rhel5-64 kernel: [182989.355592]  [<ffffffff81072253>] ? print_irqtrace_events+0xa0/0xa4
Dec 18 15:07:01 vm-rhel5-64 kernel: [182989.355597]  [<ffffffff8103d4ce>] __schedule_bug+0x7a/0x7f
Dec 18 15:07:01 vm-rhel5-64 kernel: [182989.355600]  [<ffffffff81379c18>] __schedule+0x85/0x805
Dec 18 15:07:01 vm-rhel5-64 kernel: [182989.355604]  [<ffffffff810b7556>] ? time_hardirqs_off+0x1b/0x2f
Dec 18 15:07:01 vm-rhel5-64 kernel: [182989.355607]  [<ffffffff8137a494>] ? schedule+0xf/0x25
Dec 18 15:07:01 vm-rhel5-64 kernel: [182989.355610]  [<ffffffff8137a499>] schedule+0x14/0x25
Dec 18 15:07:01 vm-rhel5-64 kernel: [182989.355613]  [<ffffffff810a0d93>] synchronize_irq+0xbd/0xd7
Dec 18 15:07:01 vm-rhel5-64 kernel: [182989.355617]  [<ffffffff81062898>] ? autoremove_wake_function+0x0/0x3d
Dec 18 15:07:01 vm-rhel5-64 kernel: [182989.355619]  [<ffffffff810a0397>] ? disable_irq_nosync+0x5d/0x66
Dec 18 15:07:01 vm-rhel5-64 kernel: [182989.355622]  [<ffffffff810a0f7d>] disable_irq+0x31/0x36
Dec 18 15:07:01 vm-rhel5-64 kernel: [182989.355630]  [<ffffffffa017db40>] cp_poll_controller+0x19/0x31 [8139cp]
Dec 18 15:07:01 vm-rhel5-64 kernel: [182989.355633]  [<ffffffff812edae3>] netpoll_poll+0x4e/0x3b8
Dec 18 15:07:01 vm-rhel5-64 kernel: [182989.355636]  [<ffffffff8137bc52>] ? rt_spin_unlock+0x35/0x3a
Dec 18 15:07:01 vm-rhel5-64 kernel: [182989.355640]  [<ffffffff812d57e2>] ? skb_dequeue+0x21/0x52
Dec 18 15:07:01 vm-rhel5-64 kernel: [182989.355643]  [<ffffffff812ee0e6>] find_skb+0x7d/0xa6
Dec 18 15:07:01 vm-rhel5-64 kernel: [182989.355646]  [<ffffffff812ee154>] netpoll_send_udp+0x34/0x1ee
Dec 18 15:07:01 vm-rhel5-64 kernel: [182989.355651]  [<ffffffffa002e1db>] write_msg+0x89/0xc8 [netconsole]
Dec 18 15:07:01 vm-rhel5-64 kernel: [182989.355654]  [<ffffffff81045f0b>] __call_console_drivers+0xc8/0xec
Dec 18 15:07:01 vm-rhel5-64 kernel: [182989.355657]  [<ffffffff81045f8f>] _call_console_drivers+0x60/0x64
Dec 18 15:07:01 vm-rhel5-64 kernel: [182989.355660]  [<ffffffff8104647a>] release_console_mutex+0x129/0x1a4
Dec 18 15:07:01 vm-rhel5-64 kernel: [182989.355664]  [<ffffffff81046b57>] vprintk+0x3af/0x3f8
Dec 18 15:07:01 vm-rhel5-64 kernel: [182989.355667]  [<ffffffff810738b3>] ? print_lock_contention_bug+0x1b/0xd5
Dec 18 15:07:01 vm-rhel5-64 kernel: [182989.355671]  [<ffffffff81046c0c>] printk+0x6c/0x6e
Dec 18 15:07:01 vm-rhel5-64 kernel: [182989.355674]  [<ffffffff8137c5c4>] ? _raw_spin_unlock_irqrestore+0x3d/0x79
Dec 18 15:07:01 vm-rhel5-64 kernel: [182989.355677]  [<ffffffff8137c5f2>] ? _raw_spin_unlock_irqrestore+0x6b/0x79
Dec 18 15:07:01 vm-rhel5-64 kernel: [182989.355680]  [<ffffffff8137b0bd>] ? rt_spin_lock_slowunlock+0x53/0x7d
Dec 18 15:07:01 vm-rhel5-64 kernel: [182989.355684]  [<ffffffff8107b29f>] ? rt_spin_lock_fastunlock+0x2a/0x2c
Dec 18 15:07:01 vm-rhel5-64 kernel: [182989.355687]  [<ffffffff8137bc52>] ? rt_spin_unlock+0x35/0x3a
Dec 18 15:07:01 vm-rhel5-64 kernel: [182989.355695]  [<ffffffffa067aa12>] ? _stp_ctl_send+0x102/0x22c [stap_8f6127053d4df9e6cb23117ca0e09ef6_159315]
Dec 18 15:07:01 vm-rhel5-64 kernel: [182989.355702]  [<ffffffffa067a9e6>] _stp_ctl_send+0xd6/0x22c [stap_8f6127053d4df9e6cb23117ca0e09ef6_159315]
Dec 18 15:07:01 vm-rhel5-64 kernel: [182989.355709]  [<ffffffffa067b2c5>] function_system+0x56/0x6a [stap_8f6127053d4df9e6cb23117ca0e09ef6_159315]
Dec 18 15:07:01 vm-rhel5-64 kernel: [182989.355716]  [<ffffffffa069dbdd>] probe_2002+0xc0/0x19e [stap_8f6127053d4df9e6cb23117ca0e09ef6_159315]
Dec 18 15:07:02 vm-rhel5-64 kernel: [182989.355721]  [<ffffffff81054e32>] ? sys_alarm+0x1/0x12

* transport/control.c (_stp_ctl_send): Quietly resign to fate, if we're OOM.

12 years agotask-finder2: disable uprobes_p if only task-finder2 is available
Frank Ch. Eigler [Sun, 18 Dec 2011 19:00:34 +0000 (14:00 -0500)]
task-finder2: disable uprobes_p if only task-finder2 is available

* testsuite/lib/systemtap.exp (uprobes_p): Decouple from [utrace_p].
  Instead, look for classic utrace (=> runtime-uprobes) and/or
  in-kernel-uprobes.

12 years agoPR13489 finale (?): tolerate non-existent task_user_regset_view
Frank Ch. Eigler [Sun, 18 Dec 2011 16:50:14 +0000 (11:50 -0500)]
PR13489 finale (?): tolerate non-existent task_user_regset_view

* runtime/loc2c-runtime.h: Tweak task_user_regset_view-substitute macro
  to return 0 on failed kallsyms.
* runtime/transport/transport.c: Don't have a cow if task_user_regset_view
  is missing, like on older ARM kernels.

12 years agoPR13489: comment on task_user_regset_view usage
Frank Ch. Eigler [Sat, 17 Dec 2011 15:19:24 +0000 (10:19 -0500)]
PR13489: comment on task_user_regset_view usage

12 years agoPR13513: undo PR11759 PREEMPT_RT hack
Frank Ch. Eigler [Sat, 17 Dec 2011 14:56:03 +0000 (09:56 -0500)]
PR13513: undo PR11759 PREEMPT_RT hack

Just go back to using plain spinlock_t etc. throughout the runtime:

-#if CONFIG_PREEMPT_RT
-static raw_spinlock_t itrace_lock;
-#else
 static spinlock_t itrace_lock;
-#endif

* runtime/*, translate.cxx: Just use plain spin/other locks.

12 years agoPR13489: Look up kallsyms_task_user_regset_view if needed, even without any uprobes
Frank Ch. Eigler [Sat, 17 Dec 2011 14:54:51 +0000 (09:54 -0500)]
PR13489: Look up kallsyms_task_user_regset_view if needed, even without any uprobes

This is needed to compile loc2c-runtime.h on zero-uprobes kernels.

* runtime/runtime.h: Unwrap it from if CONFIG_UPROBES.
* runtime/transport/transport.c: Look it up.

12 years agoPR13499: grapher: remove systemtap-runtime=V-R dependency
Frank Ch. Eigler [Wed, 14 Dec 2011 18:47:27 +0000 (13:47 -0500)]
PR13499: grapher: remove systemtap-runtime=V-R dependency

This should make it easier for an old systemtap-grapher rpm
to remain installed as other parts of the package move forward.

* NEWS: mention grapher deprecation

12 years agoscheduler.ctxswitch: arm has context_switch(), not __switch_to().
Mark Wielaard [Sat, 17 Dec 2011 01:32:57 +0000 (02:32 +0100)]
scheduler.ctxswitch: arm has context_switch(), not __switch_to().

12 years agoRename tapset/rpc.stp variable to indicate its internal-only nature.
David Smith [Fri, 16 Dec 2011 20:32:20 +0000 (14:32 -0600)]
Rename tapset/rpc.stp variable to indicate its internal-only nature.

* tapset/rpc.stp (_sunrpc.clnt.create_client.rpc_new_client_inline):
  Rename 'args' to '__args' to indicate that '__args' is an internal-only
  variable.  Deprecate old name.
* NEWS: Mention 'args' variable deprecation.
* stap.1: Ditto.

12 years agotask_finder_vma.c (__stp_tf_vma_new_entry): No unnecessary atomic allocs.
Mark Wielaard [Fri, 16 Dec 2011 18:25:32 +0000 (19:25 +0100)]
task_finder_vma.c (__stp_tf_vma_new_entry): No unnecessary atomic allocs.

We can be a little nicer when allocating kernel memory under the
traditional task_finder which uses utrace. See
http://sourceware.org/ml/systemtap/2011-q4/msg00357.html

12 years agoCheck that unset CONFIG options compare equal the empty string and/or zero.
Mark Wielaard [Fri, 16 Dec 2011 18:14:40 +0000 (19:14 +0100)]
Check that unset CONFIG options compare equal the empty string and/or zero.

12 years agoFix PR13501 (partial) by making 'stap -L __scheduler.process_exit.kp' work.
David Smith [Fri, 16 Dec 2011 17:41:02 +0000 (11:41 -0600)]
Fix PR13501 (partial) by making 'stap -L __scheduler.process_exit.kp' work.

* tapset/scheduler.stp (__scheduler.process_exit.kp): Added value for
  '__tsk' so that 'stap -L' doesn't complain about an unknown type.

12 years agoperiodic.stp example truncate fname to 50 chars to keep table readable.
Mark Wielaard [Fri, 16 Dec 2011 16:11:00 +0000 (17:11 +0100)]
periodic.stp example truncate fname to 50 chars to keep table readable.

12 years agomodname/symdata: Try harder to retrieve module name when requested.
Mark Wielaard [Fri, 16 Dec 2011 15:59:00 +0000 (16:59 +0100)]
modname/symdata: Try harder to retrieve module name when requested.

When the user really wants a kernel module name with an address and
we are unable to map it to any existing one then fall back on using
__module_text_address() with appropriate locking.

12 years ago_stp_vma_mmap_cb: Also extend mapping that don't overlap but are connected.
Mark Wielaard [Fri, 16 Dec 2011 15:43:04 +0000 (16:43 +0100)]
_stp_vma_mmap_cb: Also extend mapping that don't overlap but are connected.

If a vma mapping for a module already exist but a new mapping for the module
is added that is connected right at the end of it, then just extend the
existing vma mapping. This fixes the exelib.exp testcase on s390x for PIE
executables.

12 years agoFix gcc warning in uprobes2/uprobes.c.
David Smith [Fri, 16 Dec 2011 15:52:30 +0000 (09:52 -0600)]
Fix gcc warning in uprobes2/uprobes.c.

* runtime/uprobes2/uprobes.c (uprobe_free_task): Fix "ISO C90 forbids
  mixed declarations and code" warning by rearranging some code.

12 years agoFix 13501 (partial) by making 'stap -L scheduler.ctxswitch' work.
David Smith [Fri, 16 Dec 2011 15:33:38 +0000 (09:33 -0600)]
Fix 13501 (partial) by making 'stap -L scheduler.ctxswitch' work.

* tapset/scheduler.stp (scheduler.ctxswitch): Merge the probe aliases for
  '__scheduler.ctxswitch.tp' and '__scheduler.ctxswitch.kp'.
* testsuite/buildok/scheduler-ctxswitch.stp: Remove
  '__scheduler.ctxswitch.kp' testing.

12 years agoImproved __rpc_create_args global handling for sunrpc.clnt.create_client probe.
David Smith [Thu, 15 Dec 2011 19:18:10 +0000 (13:18 -0600)]
Improved __rpc_create_args global handling for sunrpc.clnt.create_client probe.

* tapset/rpc.stp: Ensure better matching with the .return probe by putting
  .call on the probes that handle the __rpc_create_args global variable.

12 years agoFix PR13501 (partial) by making 'stap -L sunrpc.clnt.create_client' work.
David Smith [Thu, 15 Dec 2011 19:12:47 +0000 (13:12 -0600)]
Fix PR13501 (partial) by making 'stap -L sunrpc.clnt.create_client' work.

* tapset/rpc.stp: Fix unresolved type error by providing a value for the
  'args' variable even in the branch where we don't use it.

12 years agoAdjust periodic.stp example to run on kernels without struct delayed_work
William Cohen [Thu, 15 Dec 2011 16:27:45 +0000 (11:27 -0500)]
Adjust periodic.stp example to run on kernels without struct delayed_work

RHEL-5 kernels have the timer_expire_entry tracepoint, but do not have
struct delayed_work.  Some @defined magic is used to select the
fallback if struct delayed_work is not around.

12 years agoFix PR12413 by fixing 'kprocess.release' variable problems.
David Smith [Thu, 15 Dec 2011 15:49:13 +0000 (09:49 -0600)]
Fix PR12413 by fixing 'kprocess.release' variable problems.

* tapset/kprocess.stp: Deprecate 'pid' variable and fix 'released_pid' and
  'released_tid' variables in the kprocess.release probe.
* testsuite/buildok/kprocess-detailed.stp: Update kprocess.release test.
* NEWS: Mention kprocess.release 'pid' variable deprecation.
* stap.1: Ditto.

12 years agoAdd the periodic.stp example to the index
William Cohen [Wed, 14 Dec 2011 20:46:38 +0000 (15:46 -0500)]
Add the periodic.stp example to the index

12 years agoAdd the periodic.stp example
William Cohen [Wed, 14 Dec 2011 20:45:12 +0000 (15:45 -0500)]
Add the periodic.stp example

12 years agoRemove the possibililty of sleeping from __stp_call_mmap_callbacks_*().
David Smith [Wed, 14 Dec 2011 17:05:42 +0000 (11:05 -0600)]
Remove the possibililty of sleeping from __stp_call_mmap_callbacks_*().

* runtime/task_finder.c (__stp_call_mmap_callbacks_with_addr): Change
  down_read() to down_read_trylock() instead, which won't sleep.
  (__stp_call_mmap_callbacks_for_task): Ditto.

12 years agoPR13489/PR11671: more lockdep antihistamines
Frank Ch. Eigler [Tue, 13 Dec 2011 22:27:38 +0000 (17:27 -0500)]
PR13489/PR11671: more lockdep antihistamines

* runtime/task_finder_vma.c (__stp_tf_vma_new_entry): Use
  STP_ALLOC_FLAGS for new vma entry memory allocation needs.

12 years agoPR13386: move _stp_kill_time out of preemption-disabled interval at shutdown
Frank Ch. Eigler [Tue, 13 Dec 2011 21:02:33 +0000 (16:02 -0500)]
PR13386: move _stp_kill_time out of preemption-disabled interval at shutdown

Without this change, it was possible to get this warning:

[ 2083.250059] stap_76e60190a026972913d9501600bceb0a_767363: systemtap: 1.7/0.152, base: fffffff
fa066f000, memory: 4269data/40text/62ctx/2058net/377alloc kb, probes: 5474
[ 2085.743714] BUG: sleeping function called from invalid context at kernel/mutex.c:271
[ 2085.747088] in_atomic(): 1, irqs_disabled(): 0, pid: 31536, name: stapio
[ 2085.749797] no locks held by stapio/31536.
[ 2085.751520] Pid: 31536, comm: stapio Tainted: G           O 3.2.0-rc5-next-20111213 #1
[ 2085.754634] Call Trace:
[ 2085.756109]  [<ffffffff81094f35>] __might_sleep+0x135/0x1f0
[ 2085.758339]  [<ffffffff81670c5f>] mutex_lock_nested+0x2f/0x3a0
[ 2085.760624]  [<ffffffff810c14ed>] ? trace_hardirqs_on+0xd/0x10
[ 2085.763117]  [<ffffffff81072482>] ? try_to_del_timer_sync+0xb2/0x1a0
[ 2085.765854]  [<ffffffff8108ff6f>] srcu_notifier_chain_unregister+0x2f/0xf0
[ 2085.771204]  [<ffffffff81072570>] ? try_to_del_timer_sync+0x1a0/0x1a0
[ 2085.774824]  [<ffffffff814f462c>] cpufreq_unregister_notifier+0x1c/0x40
[ 2085.780119]  [<ffffffffa06717ce>] _stp_kill_time+0x9e/0xa0 [stap_76e60190a026972913d9501600bceb0a_767363]
[ 2085.785254]  [<ffffffffa0677a15>] _stp_cleanup_and_exit+0x375/0x430 [stap_76e60190a026972913d9501600bceb0a_767363]
[ 2085.790342]  [<ffffffffa0677d82>] _stp_ctl_write_cmd+0x272/0xbb5 [stap_76e60190a026972913d9501600bceb0a_767363]
[ 2085.794189]  [<ffffffff811ac4a6>] vfs_write+0xb6/0x180
[ 2085.796239]  [<ffffffff81677579>] kretprobe_trampoline_holder+0x9/0x9
[ 2085.798521]  [<ffffffff81677579>] kretprobe_trampoline_holder+0x9/0x9

* translate.cxx (c_unparser::emit_module_exit): Move _stp_kill_time up a wee.

12 years agoDistinguish tests run using different privilege levels.
Dave Brolley [Tue, 13 Dec 2011 22:30:01 +0000 (17:30 -0500)]
Distinguish tests run using different privilege levels.

12 years agoPR 13496: stap could show some progress of the communication with the server
Dave Brolley [Tue, 13 Dec 2011 21:08:38 +0000 (16:08 -0500)]
PR 13496: stap could show some progress of the communication with the server

- Moved "Using a compile server" message to -v level
- Moved details of automatic server detection to -vv level
- Moved reasons for server acceptance/rejection to -vvv level
- Moved details of clent/server request/response packaging to -vvvv level.

12 years agoPR 13318: Add -D option to stap-server and stap-serverd.
Dave Brolley [Tue, 13 Dec 2011 19:25:46 +0000 (14:25 -0500)]
PR 13318: Add -D option to stap-server and stap-serverd.

Now supported on the command line as -D macro[=value] and
in the stap-server config files as DEFINE=macro[=value].

12 years agoAdd HAVE_TASK_FINDER define to simplify some code.
David Smith [Tue, 13 Dec 2011 17:33:38 +0000 (11:33 -0600)]
Add HAVE_TASK_FINDER define to simplify some code.

* runtime/runtime.h: Add HAVE_TASK_FINDER define if we've got any form of
  utrace.
* runtime/task_finder.c: Use HAVE_TASK_FINDER to know whether to define
  dummy functions.
* runtime/vma.c (_stp_vma_init): Use HAVE_TASK_FINDER define.

12 years agomodinfo.exp testcase needs modinfo from /sbin, which might not be in PATH.
Mark Wielaard [Tue, 13 Dec 2011 14:24:18 +0000 (15:24 +0100)]
modinfo.exp testcase needs modinfo from /sbin, which might not be in PATH.

12 years agoOlder glibc elf.h don't know about new STB_GNU_UNIQUE constant.
Mark Wielaard [Tue, 13 Dec 2011 13:58:19 +0000 (14:58 +0100)]
Older glibc elf.h don't know about new STB_GNU_UNIQUE constant.

12 years agoconfigury: fix make -j all install
Frank Ch. Eigler [Mon, 12 Dec 2011 22:50:59 +0000 (17:50 -0500)]
configury: fix make -j all install

Due to an autoconf weirdness, make -j all install would run make
all-recursive and make install-recursive in parallel, and let the two
builds step on each others' toes.

* Makefile.am (install): Explicitly require all.  Recurse by hand.
* Makefile.in: Regenerated.

12 years agoPR13467 Provide alternative testcase for pointer_array.exp.
Mark Wielaard [Mon, 12 Dec 2011 21:52:18 +0000 (22:52 +0100)]
PR13467 Provide alternative testcase for pointer_array.exp.

pointer_array.exp depends on indexing an array from a user pointer in
kernel context. This doesn't work on s390x, which has separate user and
kernel space addresses. kallsyms_expand_symbol.exp decodes the kallsyms
table from kernel space using various array pointer manipulations.

12 years agoRevert accidental "work in progress" commit
Stan Cox [Mon, 12 Dec 2011 21:30:11 +0000 (16:30 -0500)]
Revert accidental "work in progress" commit

This reverts commit 658ebe79050b8e5574464a63c15d1c5dfabaf545.

12 years agoAlso consider STB_GNU_UNIQUE symbols to be exported.
Stan Cox [Mon, 12 Dec 2011 21:16:35 +0000 (16:16 -0500)]
Also consider STB_GNU_UNIQUE symbols to be exported.

* dwflpp.cxx (dwflpp::func_is_exported): Consider STB_GNU_UNIQUE.

12 years agoMerge branch 'master' of ssh://sources.redhat.com/git/systemtap
Dave Brolley [Mon, 12 Dec 2011 20:04:21 +0000 (15:04 -0500)]
Merge branch 'master' of ssh://sources.redhat.com/git/systemtap

Conflicts:
NEWS

12 years agoPR 13460: Expose stap-serverd options to stap-server.
Dave Brolley [Mon, 12 Dec 2011 20:02:24 +0000 (15:02 -0500)]
PR 13460: Expose stap-serverd options to stap-server.

The --log, --port and --ssl options of stap-serverd are now
exposed to stap-server.

12 years agoMerge branch 'master' of ssh://sourceware.org/git/systemtap
Mark Wielaard [Mon, 12 Dec 2011 14:59:28 +0000 (15:59 +0100)]
Merge branch 'master' of ssh://sourceware.org/git/systemtap

12 years agoProtect just the transport state with _stp_transport_mutex.
Mark Wielaard [Mon, 12 Dec 2011 14:54:59 +0000 (15:54 +0100)]
Protect just the transport state with _stp_transport_mutex.

_stp_transport_mutex was held over the whole of _stp_handle_start()
and _stp_cleanup_and_exit(). This is unnecessary and dangerous since
some functions that get called could sleep. Add a new state variable
_stp_start_called and protect just that together with _stp_exit_called
to make sure _stp_handle_start() and _stp_cleanup_and_exit() are only
executed once.

12 years agouprobes.c add rcu_read_lock for pid_task(), rcu_dereference and utrace.
Mark Wielaard [Mon, 12 Dec 2011 12:46:28 +0000 (13:46 +0100)]
uprobes.c add rcu_read_lock for pid_task(), rcu_dereference and utrace.

pid_task(), rcu_dereference() and the utrace functions that convert a
given pid to a task need to be protected by the rcu_read_lock().

12 years agoPR13489: support inode-uprobes without EXPORT_SYMBOL*'s
Frank Ch. Eigler [Mon, 12 Dec 2011 14:28:23 +0000 (09:28 -0500)]
PR13489: support inode-uprobes without EXPORT_SYMBOL*'s

Until lkml sees fit to EXPORT_SYMBOL* various inode-uprobes related
symbols, we must kludge around this.

* buildrun.cxx (compile_pass): Track export status for
  register_uprobe, unregister_uprobe, task_user_regset_view.
* runtime/runtime.h: Declare void* versions if needed.
* runtime/transport/transport.c: kallsyms_lookup_name them if needed.
* runtime/loc2c-runtime.h, runtime/uprobes-inode.c: Use them.

12 years agoPR13076: fix -timeout tcl error
Frank Ch. Eigler [Sun, 11 Dec 2011 20:42:50 +0000 (15:42 -0500)]
PR13076: fix -timeout tcl error

* testsuite/systemtap.base/cache_clean.exp: Use
  expect { -timeout N } instead of expect { timeout N }

12 years agoinode-uprobes: recognize it even without exported symbols
Frank Ch. Eigler [Fri, 9 Dec 2011 23:06:51 +0000 (18:06 -0500)]
inode-uprobes: recognize it even without exported symbols

12 years agoAdd process, kernel and module function.exported probes to unprivileged tests.
Mark Wielaard [Sat, 10 Dec 2011 11:13:22 +0000 (12:13 +0100)]
Add process, kernel and module function.exported probes to unprivileged tests.

12 years agoAdd function(...).exported
Stan Cox [Fri, 9 Dec 2011 22:51:19 +0000 (17:51 -0500)]
Add function(...).exported

* dwflpp.cxx (dwflpp::func_is_exported):  New.
* tapsets.cxx (dwarf_query::dwarf_query):  Add has_exported
  (query_dwarf_func): Check for .exported
* library.exp:  Add .exported test
* NEWS, langref.tex, stapprobes.3stap:  Document it.

12 years agowork in progress
Stan Cox [Mon, 14 Nov 2011 17:08:14 +0000 (12:08 -0500)]
work in progress

12 years agoAdd new test that probes by pid.
David Smith [Fri, 9 Dec 2011 22:08:39 +0000 (16:08 -0600)]
Add new test that probes by pid.

* testsuite/systemtap.clone/probe_by_pid.exp: New test file.
* testsuite/systemtap.clone/Makefile.probe_by_pid: Ditto.
* testsuite/systemtap.clone/probe_by_pid.c: Ditto.
* testsuite/systemtap.clone/probe_by_pid.exp: Ditto.
* testsuite/systemtap.clone/probe_by_pid_function.stp: Ditto.
* testsuite/systemtap.clone/probe_by_pid_utrace.stp: Ditto.

12 years agoBogus error message being logged by stap-serverd.
Dave Brolley [Fri, 9 Dec 2011 21:03:04 +0000 (16:03 -0500)]
Bogus error message being logged by stap-serverd.

12 years agoRemove the possibililty of sleeping from __stp_call_mmap_callbacks_*().
David Smith [Fri, 9 Dec 2011 19:43:17 +0000 (13:43 -0600)]
Remove the possibililty of sleeping from __stp_call_mmap_callbacks_*().

* runtime/task_finder2.c (__stp_call_mmap_callbacks_with_addr): Change
  down_read() to down_read_trylock() instead, which won't sleep.
  (__stp_call_mmap_callbacks_for_task): Ditto.

12 years agoRemoved ifdef'ed out code from stp_utrace.[ch].
David Smith [Fri, 9 Dec 2011 19:37:10 +0000 (13:37 -0600)]
Removed ifdef'ed out code from stp_utrace.[ch].

* runtime/stp_utrace.c: Removed unused code (no actual code changes).
* runtime/stp_utrace.h: Ditto.

12 years agoInitializce the vma tracker for internal utrace.
David Smith [Fri, 9 Dec 2011 19:20:52 +0000 (13:20 -0600)]
Initializce the vma tracker for internal utrace.

* runtime/vma.c (_stp_vma_init): Do the initialization when we're using
  our internal utrace.

12 years agopf2.stp example probefunc() is deprecated, use symname(addr()) instead.
Mark Wielaard [Fri, 9 Dec 2011 15:42:50 +0000 (16:42 +0100)]
pf2.stp example probefunc() is deprecated, use symname(addr()) instead.

Also explicitly exclude user space function names as advertised.
Otherwise the aggregate will quickly overflow on a busy system.

12 years agoPR13076: Added test cases
Chris Meek [Fri, 9 Dec 2011 15:19:07 +0000 (10:19 -0500)]
PR13076: Added test cases

This page took 0.0699 seconds and 5 git commands to generate.