Jim Keniston <jkeni...@us.ibm.com> writes: > > I don't know of any such plans, but I'd be interested to read more of > your thoughts here. As I understand it, you've suggested replacing the > probed instruction with a jump into an instrumentation vma (the XOL > area, or something similar). Masami has demonstrated -- through his > djprobes enhancement to kprobes -- that this can be done for many x86 > instructions.
The big problem when doing this in user space is that for 64bit it has to be within 2GB of the probed code, otherwise you would need to rewrite the instruction to not use any rip relative addressing, which can be rather complicated (needs registers, but the instruction might already use them, so you would need a register allocator/spilling etc.) And that 2GB can be anywhere in the address space for shared libraries, which might well be already used. A lot of programs need large VM areas without holes. Also I personally would be unconfortable to let the instruction decoder be used by unpriviledged code. Who knows how many buffer overflows it has? In general the trend has been also to make traps faster in the CPU, make sure you're not optimizing for some old CPU here. -Andi -- a...@linux.intel.com -- Speaking for myself only.