| Main index | Section 4 | Options |
kinst creates probes on-demand, meaning it searches for and parses the function's instructions each time dtrace(1) is run, and not at module load time. This is in contrast to FBT's load-time parsing, since kinst can potentially create thousands of probes for just a single function, instead of up to two (entry and return) in the case of FBT. A result of this is that dtrace -l -P kinst will not match any probes.
# kgdb (kgdb) disas /r vm_fault Dump of assembler code for function vm_fault: 0xffffffff80876df0 <+0>: 55 push %rbp 0xffffffff80876df1 <+1>: 48 89 e5 mov %rsp,%rbp 0xffffffff80876df4 <+4>: 41 57 push %r15# dtrace -n 'kinst::vm_fault:4 {printf("%#x", regs[R_RSI]);}' 2 81500 vm_fault:4 0x827c56000 2 81500 vm_fault:4 0x827878000 2 81500 vm_fault:4 0x1fab9bef0000 2 81500 vm_fault:4 0xe16cf749000 0 81500 vm_fault:4 0x13587c366000 ...
Trace all instructions in amd64_syscall():
# dtrace -n 'kinst::amd64_syscall:'
| DTRACE_KINST (4) | February 27, 2023 |
| Main index | Section 4 | Options |
Please direct any comments about this manual page service to Ben Bullock. Privacy policy.
| “ | One of the advantages of using UNIX to teach an operating systems course is the sources and documentation will easily fit into a student's briefcase. | ” |
| — John Lions | ||