]> sourceware.org Git - systemtap.git/commit - tapsets.cxx
PR11514 Only expand kallsyms once for kprobe_derived_probe_group.
authorMark Wielaard <mjw@redhat.com>
Tue, 20 Apr 2010 20:06:15 +0000 (22:06 +0200)
committerMark Wielaard <mjw@redhat.com>
Tue, 20 Apr 2010 20:17:45 +0000 (22:17 +0200)
commitbd6593518895fc613b973500c03a3b844bbe68c5
tree1a4653b4fb0c950d6e43b6838a46af4d481d4e89
parent93a7a5bf8265ce7c1425ca77e3a68896a659cbcd
PR11514 Only expand kallsyms once for kprobe_derived_probe_group.

kprobe_register is really expensive when used for multiple symbol
based probes since it will call kallsyms_expand_symbol over and over
to uncompress the kernel symbol table. So flip the comparison loop
inside out by looping once over the kernel symbol table.

* tapsets.cxx (kprobe_derived_probe_group::emit_module_decls): Declare
  kprobe_resolve helper function.
  (kprobe_derived_probe_group::emit_module_init): Call kprobe_resolve
  through kallsyms_on_each_symbol. Never register through symbol name,
  just check that address has been filled in by kprobe_resolve.
tapsets.cxx
This page took 0.034251 seconds and 5 git commands to generate.