This is the mail archive of the
systemtap@sourceware.org
mailing list for the systemtap project.
[Bug uprobes/5509] uprobe booster thoughts
- From: "jkenisto at us dot ibm dot com" <sourceware-bugzilla at sourceware dot org>
- To: systemtap at sources dot redhat dot com
- Date: 21 Apr 2009 23:40:05 -0000
- Subject: [Bug uprobes/5509] uprobe booster thoughts
- References: <20071218172927.5509.jkenisto@us.ibm.com>
- Reply-to: sourceware-bugzilla at sourceware dot org
------- Additional Comments From jkenisto at us dot ibm dot com 2009-04-21 23:40 -------
Here's my list of the x86 instruction opcodes that are acceptable to
uprobes* but are not boostable. In some cases -- e.g, loop, prefetch
-- I deferred to x86 kprobes's opinion as to what's boostable.
1-byte opcodes:
70-7f: (conditional) relative jumps
9a: call
e0-e3: loop
e8: call
e9: relative jump
eb: relative jump
ff: Group 5 - generally OK, but includes two call instructions (reg = 2, 3)
2-byte opcodes (first byte = 0f):
18: prefetch
80-8f: (conditional) relative jumps
Also, for floating-point instructions, we need to do some more testing
to gain more confidence in our instruction-length computations.
Relative jumps aren't boostable because they can leave you in
the neighborhood of the SSOL slot, but not in it. Calls aren't
boostable because you must fix up the return address -- and some are
also relative.
* "Unacceptable" opcodes include invalid opcodes, privileged instructions,
instruction prefixes, in/out instructions, interrupt instructions, and
a few others that are dubious for one reason or another.
--
http://sourceware.org/bugzilla/show_bug.cgi?id=5509
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.