Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 10 Dec 2019 10:06:26 -0600
From:      Eric van Gyzen <eric@vangyzen.net>
To:        Ryan Stone <rysto32@gmail.com>
Cc:        FreeBSD Current <freebsd-current@freebsd.org>
Subject:   Re: dtrace not working on bhyve VM without invariant_tsc
Message-ID:  <ECA9F047-FE57-41AE-8DBF-53D56AC1AEB6@vangyzen.net>
In-Reply-To: <CAFMmRNz9Cv2Hepi%2BszMn30BBGKEyEcvUQiE-46kEdpxg6rjH9w@mail.gmail.com>
References:  <CAFMmRNz9Cv2Hepi%2BszMn30BBGKEyEcvUQiE-46kEdpxg6rjH9w@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help

> On Dec 9, 2019, at 8:27 PM, Ryan Stone <rysto32@gmail.com> wrote:
>=20
> I have a bhyve VM guest on my laptop where dtrace just constantly
> aborts whenever I try to use it:
>=20
> [rstone@ebpf dtrace]sudo dtrace -s fdcopy.d
> Assertion failed: (buf->dtbd_timestamp >=3D first_timestamp), file
> =
/usr/home/rstone/git/bsd-worktree/ebpf-import/cddl/contrib/opensolaris/lib=
/libdtrace/common/dt_consume.c,
> line 3026.
> Abort trap
>=20
> 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.
>=20
> Should dtrace instead be using the system timecounter?  That should
> stand a much better chance of being monotonically increasing.

I=E2=80=99ve seen TSC issues with OneFS under bhyve on certain CPUs.  =
Pinning the VM to CPUs 1-N (i.e. avoiding CPU 0) worked around it.  You =
might try that as a workaround.

Eric=



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?ECA9F047-FE57-41AE-8DBF-53D56AC1AEB6>