| DT(4) | Device Drivers Manual | DT(4) |
dt — dynamic
tracer
pseudo-device dt
System and application tracing can happen in the kernel. It has to be configured and enabled through the ioctl(2) interface exposed by the pseudo-device /dev/dt.
This device can only be opened when the kern.allowdt sysctl(2) variable is set.
The ioctl(2) command
codes below are defined in
<dev/dt/dtvar.h>.
DTIOCGPLIST
struct dtioc_probe *dtprstruct dtioc_probe {
size_t dtpr_size;
struct dtioc_probe_info *dtpr_probes;
};
If dtpr_size is non-zero, as many probes
as possible that can fit into this size will be copied into the supplied
buffer. On exit, dtpr_size is always set to the
total size required to hold all probe entries (i.e., it is set to
sizeof(struct dtioc_probe_info) *
dt_nprobes).
DTIOCGSTATS
struct dtioc_stat *dtststruct dtioc_stat {
uint64_t dtst_readevt;
uint64_t dtst_dropevt;
};
DTIOCRECORD
int onDTIOCPRBENABLE
struct dtioc_req *dtrqstruct dtioc_req {
uint32_t dtrq_pbn;
struct dt_filter dtrq_filter;
uint32_t dtrq_rate;
uint64_t dtrq_evtflags;
};
An open of /dev/dt will fail if:
The dt dynamic tracing mechanism first
appeared in OpenBSD 6.7.
| December 2, 2020 | openbsd |