Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 9 Dec 2019 21:27:01 -0500
From:      Ryan Stone <rysto32@gmail.com>
To:        FreeBSD Current <freebsd-current@freebsd.org>
Subject:   dtrace not working on bhyve VM without invariant_tsc
Message-ID:  <CAFMmRNz9Cv2Hepi%2BszMn30BBGKEyEcvUQiE-46kEdpxg6rjH9w@mail.gmail.com>

next in thread | raw e-mail | index | archive | help
I have a bhyve VM guest on my laptop where dtrace just constantly
aborts whenever I try to use it:

[rstone@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.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAFMmRNz9Cv2Hepi%2BszMn30BBGKEyEcvUQiE-46kEdpxg6rjH9w>