diff options
author | Masami Hiramatsu <mhiramat@redhat.com> | 2008-11-04 10:05:39 -0500 |
---|---|---|
committer | Frank Ch. Eigler <fche@elastic.org> | 2008-11-04 10:05:39 -0500 |
commit | b95e2b79d84654ca890f7f2b02ae2c5f4e836eaf (patch) | |
tree | 272ab84a1bcd381c7cd1ddab4651d846aa328cfc /runtime/regs-ia64.c | |
parent | bbd2860f9c95fbef790a2f414c8fc6548c5fec3d (diff) | |
download | systemtap-steved-b95e2b79d84654ca890f7f2b02ae2c5f4e836eaf.tar.gz systemtap-steved-b95e2b79d84654ca890f7f2b02ae2c5f4e836eaf.tar.xz systemtap-steved-b95e2b79d84654ca890f7f2b02ae2c5f4e836eaf.zip |
PR6028 / BZ468143: ia64 fetch-register speedup
Diffstat (limited to 'runtime/regs-ia64.c')
-rw-r--r-- | runtime/regs-ia64.c | 13 |
1 files changed, 11 insertions, 2 deletions
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) {\ |