This is the mail archive of the
systemtap-cvs@sourceware.org
mailing list for the systemtap project.
[SCM] systemtap: system-wide probe/trace tool branch, master, updated. release-1.2-23-g4df79aa
- From: jistone at sourceware dot org
- To: systemtap-cvs at sourceware dot org
- Date: 30 Mar 2010 23:41:16 -0000
- Subject: [SCM] systemtap: system-wide probe/trace tool branch, master, updated. release-1.2-23-g4df79aa
- Reply-to: systemtap at sourceware dot org
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "systemtap: system-wide probe/trace tool".
The branch, master has been updated
via 4df79aaf86a9b6dfbccc3c51946024a30ba43726 (commit)
via 5898b6e1087175bc85e35ba147334fe87e3d7d06 (commit)
from 1713a05f2afa6df663a7fd3552849759a7d3ff48 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 4df79aaf86a9b6dfbccc3c51946024a30ba43726
Author: Josh Stone <jistone@redhat.com>
Date: Tue Mar 30 14:54:39 2010 -0700
Use a wider cache for simple function lookups
When we have many individual function lookups, like the nearly 1000 with
syscall.*, each one will iterate every CU in the module (M) and then do a
cache lookup in N entries. That's a thousand MlogN lookups.
We can instead keep the functions in a module-wide map, and then the
complexity is just a thousand logMN lookups.
Before:
$ ./run-stap -l 'syscall.**' --vp 01 >/dev/null
Pass 2: analyzed script: 793 probe(s), 11 function(s), 20 embed(s),
0 global(s) using 245872virt/147304res/78272shr kb,
in 1390usr/60sys/1448real ms.
After:
$ ./run-stap -l 'syscall.**' --vp 01 >/dev/null
Pass 2: analyzed script: 793 probe(s), 11 function(s), 20 embed(s),
0 global(s) using 246228virt/147616res/78276shr kb,
in 720usr/60sys/782real ms.
* dwflpp.cxx (dwflpp::iterate_single_function): Do a simple function
lookup based on a module-wide cache.
(dwflpp::mod_function_caching_callback): Helper for above.
* tapsets.cxx (dwarf_query::query_module_functions): Query a single
function from the module-wide cache.
(dwarf_query::query_module_dwarf): Use above for simple cases.
commit 5898b6e1087175bc85e35ba147334fe87e3d7d06
Author: Josh Stone <jistone@redhat.com>
Date: Mon Mar 29 18:24:04 2010 -0700
Remove unused code from iterate_over_functions
* dwflpp.cxx (dwflpp::iterate_over_functions): No caller is using
has_statement_num anymore (since 6b517475), so kill it.
* tapsets.cxx (query_cu): Let the default call rule the day.
-----------------------------------------------------------------------
Summary of changes:
dwflpp.cxx | 69 +++++++++++++++++++++++++++++++++++++++++++++++++++-------
dwflpp.h | 14 ++++++++---
tapsets.cxx | 61 +++++++++++++++++++++++++++++++++++++++++++++++++--
3 files changed, 128 insertions(+), 16 deletions(-)
hooks/post-receive
--
systemtap: system-wide probe/trace tool