summaryrefslogtreecommitdiffstats
path: root/runtime/sym.h
diff options
context:
space:
mode:
authorFrank Ch. Eigler <fche@elastic.org>2009-09-08 20:23:42 -0400
committerFrank Ch. Eigler <fche@elastic.org>2009-09-08 20:36:53 -0400
commit89ba308506249736c6d0c8490d3c897af4e42df8 (patch)
tree2d381ed9dbae2be8daaa37257986e785709b1fc9 /runtime/sym.h
parentd1292e962e1207cddf686a0196effa6bc8f6a217 (diff)
downloadsystemtap-steved-89ba308506249736c6d0c8490d3c897af4e42df8.tar.gz
systemtap-steved-89ba308506249736c6d0c8490d3c897af4e42df8.tar.xz
systemtap-steved-89ba308506249736c6d0c8490d3c897af4e42df8.zip
PR10524: reduce massive-uprobe script modules' .data consumption
The general approach is to rip out task_finder_tgt's from all over the place (including the unwindsym vmcbs, and the stap_uprobe_specs), and instead have a small handful of them: one for all unwindsyms, and one per abstract probed process (PID or NAME). These are in turn shared by all new stap_unwind_specs by index. Before: probe process("./stap").function("*") -rw-r--r--. 1 fche users 11775283 2009-09-08 20:26 /var/tmp/fche/systemtap/cache/96/stap_96c0479d674db55ec98d8a8750a790e7_7989596.ko text data bss dec hex filename 445158 8351944 4306472 13103574 c7f1d6 /var/tmp/fche/systemtap/cache/96/stap_96c0479d674db55ec98d8a8750a790e7_7989596.ko After: (Note how data shrank, though text gained a bit in const-init-data.) -rw-r--r--. 1 fche users 4021569 2009-09-08 20:27 /var/tmp/fche/systemtap/cache/e4/stap_e46e88634efd850b1586e81c231c239a_8058419.ko text data bss dec hex filename 1896511 2192 4324808 6223511 5ef697 /var/tmp/fche/systemtap/cache/e4/stap_e46e88634efd850b1586e81c231c239a_8058419.ko * tapsets.cxx (uprobe_derived_probe_group): Rewrite emit_module_decls, and adjust emit_module_init. * runtime/sym.c (_stp_sym_init): Initialize unwindsyms-shared vmcb. * runtime/sym.h (_stp_module): Remove *vmcb field. * translate.cxx (emit_module_init, dump_unwindsyms): Adapt. * translate.h (assert_0_indent): Flush output before possibly assert-failing.
Diffstat (limited to 'runtime/sym.h')
-rw-r--r--runtime/sym.h2
1 files changed, 0 insertions, 2 deletions
diff --git a/runtime/sym.h b/runtime/sym.h
index 262b1776..ca69345f 100644
--- a/runtime/sym.h
+++ b/runtime/sym.h
@@ -30,8 +30,6 @@ struct _stp_module {
struct _stp_section *sections;
unsigned num_sections;
- struct stap_task_finder_target *vmcb; /* PR10228 */
-
/* A pointer to the struct module. Note that we cannot */
/* trust this because as of 2.6.19, there are not yet */
/* any notifier hooks that will tell us when a module */