This is the mail archive of the systemtap@sources.redhat.com 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]

Re: architecture paper draft


Chen, Brad wrote:

As for figuring out the length of x86 instructions, Sri
is right we do it all the time around here!

Figuring out instruction length is the first step. However this limits you to using jmps only when you can find instructions of 5+ bytes in length. Kerninst does additional analysis, building intra- and inter-procedural control flow graphs (and some basic date flow analysis too). The important part of this analysis for this context is the intra-procedural, which identifies basic blocks. With such information, for instructions < 5 bytes, we can find instructions before or after the desired instrumentation point to gather enough bytes to fit a jmp. This extra analysis can significantly reduce the number of times that you have to resort to a trap instead of a jump.


--bart


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