dtrace not working on bhyve VM without invariant_tsc

From: Ryan Stone <rysto32_at_gmail.com>
Date: Mon, 9 Dec 2019 21:27:01 -0500
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.
Received on Tue Dec 10 2019 - 01:27:19 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:41:22 UTC