This is the mail archive of the systemtap@sourceware.org mailing list for the systemtap project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug uprobes/5509] uprobe booster thoughts


------- 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.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]