This is the mail archive of the
systemtap@sourceware.org
mailing list for the systemtap project.
RE: Hitachi djprobe mechanism
- From: "Keshavamurthy, Anil S" <anil dot s dot keshavamurthy at intel dot com>
- To: <karim at opersys dot com>, "Satoshi Oshima" <soshima at redhat dot com>
- Cc: "Richard J Moore" <richardj_moore at uk dot ibm dot com>, <systemtap at sources dot redhat dot com>, "Andi Kleen" <ak at suse dot de>, "Mathieu Desnoyers" <compudj at krystal dot dyndns dot org>, "Masami Hiramatsu" <hiramatu at sdl dot hitachi dot co dot jp>, "Masami Hiramatsu" <masami dot hiramatsu at gmail dot com>, <michel dot dagenais at polymtl dot ca>, "Roland McGrath" <roland at redhat dot com>, <sugita at sdl dot hitachi dot co dot jp>
- Date: Mon, 1 Aug 2005 13:43:54 -0700
- Subject: RE: Hitachi djprobe mechanism
>In as far as I can see, it remains that the only safe way to
>use djprobe
>is to not touch any instruction that is less than 5 bytes, that's if
>there aren't other limitations as I mentioned earlier.
Though this is the safe way to insert djprobe, this might not always
serve the desired purpose.
Say for example, user is interested to find how many times a function
gets called and he need
to insert a probe at the beginning of a function. Due to the nature of
djprobe
1) we might not find a 5 byte instruction with in this function, Or
2) Even if we find one such instruction, that instruction might tend to
not get executed (due to nature of the code flow), then in this case
If user inserts a probe looking at 5 bytes or more instruction from the
beginning
of the function address, the results (i.e times a function entered) will
end up being wrong.
So in effect, we just can't look for instruction size greater than 5
bytes and insert probe there.
This djprobe will push the need for a stronger static
analysizer/translator in selecting the probe point.
-thanks,
Anil