summaryrefslogtreecommitdiffstats
path: root/runtime
diff options
context:
space:
mode:
authorMasami Hiramatsu <mhiramat@redhat.com>2008-11-04 10:05:39 -0500
committerFrank Ch. Eigler <fche@elastic.org>2008-11-04 10:05:39 -0500
commitb95e2b79d84654ca890f7f2b02ae2c5f4e836eaf (patch)
tree272ab84a1bcd381c7cd1ddab4651d846aa328cfc /runtime
parentbbd2860f9c95fbef790a2f414c8fc6548c5fec3d (diff)
downloadsystemtap-steved-b95e2b79d84654ca890f7f2b02ae2c5f4e836eaf.tar.gz
systemtap-steved-b95e2b79d84654ca890f7f2b02ae2c5f4e836eaf.tar.xz
systemtap-steved-b95e2b79d84654ca890f7f2b02ae2c5f4e836eaf.zip
PR6028 / BZ468143: ia64 fetch-register speedup
Diffstat (limited to 'runtime')
-rw-r--r--runtime/ChangeLog5
-rw-r--r--runtime/regs-ia64.c13
2 files changed, 16 insertions, 2 deletions
diff --git a/runtime/ChangeLog b/runtime/ChangeLog
index a59af1b7..e4ea3330 100644
--- a/runtime/ChangeLog
+++ b/runtime/ChangeLog
@@ -1,3 +1,8 @@
+2008-11-04 Frank Ch. Eigler <fche@elastic.org>
+
+ From Masami Hiramatsu <mhiramat@redhat.com>, PR 6028.
+ * regs-ia64.c (bspcache): Expand documentation.
+
2008-10-28 Frank Ch. Eigler <fche@elastic.org>
From Jim Keniston:
diff --git a/runtime/regs-ia64.c b/runtime/regs-ia64.c
index f884c5f8..c78a757e 100644
--- a/runtime/regs-ia64.c
+++ b/runtime/regs-ia64.c
@@ -36,8 +36,17 @@ static void ia64_stap_get_arbsp(struct unw_frame_info *info, void *arg)
}
/*
- * bspcache: get cached unwound address and
- * set a probe local cache of the offset of unwound address.
+ * bspcache: get cached unwound address from current BSP and
+ * set a static local cache of the offset of unwound address
+ * if the static local cache(variable) is not set.
+ * The unwound address means the BSP value when the kprobe
+ * was hit. This macro stores the difference of BSP between
+ * when the kprobe was hit and when this macro was called.
+ * Since the difference depends on how much stack is consumed
+ * from when the kprobe was hit, this macro *MUST NOT* be put
+ * on the path which several functions execute (in that case,
+ * each time the difference is changed and this macro can't
+ * return correct unwound address).
*/
#define bspcache(cache, regs)\
if(regs) {\