Abstract | ||
---|---|---|
Existing techniques for injecting probes into running applications are limited; they either fail to support probing arbitrary locations, or to support scalable, rapid toggling of probes. We introduce a new technique on x86-64, called instruction punning, which allows scalable probes at any instruction. The key idea is that when we inject a jump instruction, the relative address of the jump serves simultaneously as data and as an instruction sequence. We show that this approach achieves probe invocation overheads of only a few dozen cycles, and probe activation/deactivation costs that are cheaper than a system call, even when all threads in the system are both invoking probes and toggling them. |
Year | DOI | Venue |
---|---|---|
2017 | 10.1145/3062341.3062344 | PLDI |
Keywords | Field | DocType |
dynamic instrumentation,application profiling | x86,Dynamic instrumentation,Instruction sequence,Computer science,Thread (computing),Real-time computing,System call,Computer hardware,Scalability,Instrumentation,Embedded system | Conference |
Volume | Issue | ISSN |
52 | 6 | 0362-1340 |
Citations | PageRank | References |
0 | 0.34 | 8 |
Authors | ||
4 |
Name | Order | Citations | PageRank |
---|---|---|---|
Buddhika Chamith | 1 | 3 | 1.10 |
Bo Joel Svensson | 2 | 67 | 6.12 |
Luke Dalessandro | 3 | 357 | 16.67 |
Ryan Newton | 4 | 802 | 70.80 |