dtrace not working on bhyve VM without invariant_tsc
Ryan Stone
rysto32 at gmail.com
Tue Dec 10 02:27:19 UTC 2019
I have a bhyve VM guest on my laptop where dtrace just constantly
aborts whenever I try to use it:
[rstone at ebpf dtrace]sudo dtrace -s fdcopy.d
Assertion failed: (buf->dtbd_timestamp >= first_timestamp), file
/usr/home/rstone/git/bsd-worktree/ebpf-import/cddl/contrib/opensolaris/lib/libdtrace/common/dt_consume.c,
line 3026.
Abort trap
I believe that the problem is caused by dtrace unconditionally using
rdtsc() to implement dtrace_gethrtime(), assuming that the values will
be stable for a given CPU. The VM's vcpus seem to be getting migrated
frequently.
Should dtrace instead be using the system timecounter? That should
stand a much better chance of being monotonically increasing.
More information about the freebsd-current
mailing list