Date: Fri, 4 Mar 2022 18:09:04 -0500 From: Shawn Webb <shawn.webb@hardenedbsd.org> To: Mark Johnston <markj@freebsd.org> Cc: src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Subject: Re: git: 84369dd52369 - main - x86: Probe the TSC frequency earlier Message-ID: <20220304230904.tx26rtpu4xrpflju@mutt-hbsd> In-Reply-To: <20220304211027.ztkf4knrpeeyhkld@mutt-hbsd> References: <202203011439.221EdtpY038505@gitrepo.freebsd.org> <20220304142447.bmo7r6syd6gsunnt@mutt-hbsd> <YiIsshB5MgS6QdU3@nuc> <20220304175226.avi2r57dvjfeyr7w@mutt-hbsd> <20220304181529.isvkyyx3qwcbt6v7@mutt-hbsd> <YiJa7jmEeRrAlc0S@nuc> <20220304211027.ztkf4knrpeeyhkld@mutt-hbsd>
next in thread | previous in thread | raw e-mail | index | archive | help
--3aelavp4qgrddn42 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Fri, Mar 04, 2022 at 04:10:27PM -0500, Shawn Webb wrote: > On Fri, Mar 04, 2022 at 01:31:10PM -0500, Mark Johnston wrote: > > On Fri, Mar 04, 2022 at 01:15:29PM -0500, Shawn Webb wrote: > > > On Fri, Mar 04, 2022 at 12:52:26PM -0500, Shawn Webb wrote: > > > > On Fri, Mar 04, 2022 at 10:13:54AM -0500, Mark Johnston wrote: > > > > > On Fri, Mar 04, 2022 at 09:24:47AM -0500, Shawn Webb wrote: > > > > > > On Tue, Mar 01, 2022 at 02:39:55PM +0000, Mark Johnston wrote: > > > > > > > The branch main has been updated by markj: > > > > > > >=20 > > > > > > > URL: https://cgit.FreeBSD.org/src/commit/?id=3D84369dd52369cb= ae28970dca20a53d3de1719907 > > > > > > >=20 > > > > > > > commit 84369dd52369cbae28970dca20a53d3de1719907 > > > > > > > Author: Mark Johnston <markj@FreeBSD.org> > > > > > > > AuthorDate: 2022-03-01 14:39:35 +0000 > > > > > > > Commit: Mark Johnston <markj@FreeBSD.org> > > > > > > > CommitDate: 2022-03-01 14:39:35 +0000 > > > > > > >=20 > > > > > > > x86: Probe the TSC frequency earlier > > > > > > > =20 > > > > > > > This lets us use the TSC to implement early DELAY, limiti= ng the use of > > > > > > > the sometimes-unreliable 8254 PIT. > > > > > > > =20 > > > > > > > PR: 262155 > > > > > > > Reviewed by: emaste > > > > > > > Tested by: emaste, mike tancsa <mike@sentex.net>, St= efan Hegnauer <stefan.hegnauer@gmx.ch> > > > > > > > MFC after: 1 month > > > > > > > Sponsored by: The FreeBSD Foundation > > > > > > > Differential Revision: https://reviews.freebsd.org/D34367 > > > > > > > --- > > > > > > > sys/amd64/amd64/machdep.c | 14 +++++- > > > > > > > sys/i386/i386/machdep.c | 11 ++++- > > > > > > > sys/x86/include/clock.h | 3 +- > > > > > > > sys/x86/isa/clock.c | 4 +- > > > > > > > sys/x86/x86/tsc.c | 123 +++++++++++++++++++++++++---= ------------------ > > > > > > > 5 files changed, 94 insertions(+), 61 deletions(-) > > > > > >=20 > > > > > > Hey Mark, > > > > > >=20 > > > > > > Something about this commit breaks booting in Hyper-V. Revertin= g this > > > > > > particular commit makes Hyper-V happy again. > > > > >=20 > > > > > The patch below might be sufficient. I'll test it in Azure but i= t'll > > > > > take me some time. > > > > >=20 > > > > > diff --git a/sys/x86/x86/delay.c b/sys/x86/x86/delay.c > > > > > index c767250954da..95b994b15f81 100644 > > > > > --- a/sys/x86/x86/delay.c > > > > > +++ b/sys/x86/x86/delay.c > > > > > @@ -89,7 +89,7 @@ delay_tc(int n) > > > > > return (1); > > > > > } > > > > > tc =3D timecounter; > > > > > - if (tc->tc_quality <=3D 0) > > > > > + if (tc =3D=3D NULL || tc->tc_quality <=3D 0) > > > > > return (0); > > > > > func =3D tc->tc_get_timecount; > > > > > mask =3D tc->tc_counter_mask; > > > >=20 > > > > Great! I'll give this patch a try and report back. > > >=20 > > > The proposed patch did not result in successful boot. > >=20 > > Ok, I forgot about the dummy timecounter, so that patch did nothing. > > Can you try this one instead, please? https://reviews.freebsd.org/D34444 > >=20 > > I wasn't able to reproduce any problems on Azure, but there HyperV > > provides an emulated 8254 timer. >=20 > Can do. I'll report back soon (possibly tomorrow due to time > constraints.) That patch indeed made the Hyper-V VM happy. Boot was successful. Thanks! --=20 Shawn Webb Cofounder / Security Engineer HardenedBSD https://git.hardenedbsd.org/hardenedbsd/pubkeys/-/raw/master/Shawn_Webb/03A= 4CBEBB82EA5A67D9F3853FF2E67A277F8E1FA.pub.asc --3aelavp4qgrddn42 Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQIzBAABCAAdFiEEA6TL67gupaZ9nzhT/y5nonf44foFAmIinA4ACgkQ/y5nonf4 4fpsYw//dMB8v2fJwPQ8AZtiPwhxe0lR4xysNnG2UQVjjz+ugAsqSIzJttJPLnvg swxZWGnlXFuRF6+YVHvJWtEA8JzbPMKpKNyXbaQex0NYw4CBecvGZnz8HeNTKZF/ B1VOScy42KsE804U9lYx1O8Bl0z810beSTwLsfKeXYCwx8axHhUn2VYCZh++9blN zB9vrZqEppIn/rw6ir6K3gxZ3+5E+19vRyJvB5GVIJV98FYm/FSEJJib0d/rgKUK 5Vu4YfCIYrkq3nTWY60UTRj3LCGUE/QFi2CIAORMXPqsPYSShDoRphSOL96UkkMR 0riVxunPfu4VZpaakE9vqKPod0MQFRjRlbD3h0Lp6herz+6X0KA8BKL3HSnzeyw7 UOcmc3J7SxmT8XvbkKip2ghkWY3xTXWp6VEgEwLg6+nFApvCnpjfQNVMTFDkY4On B0Nabi0bdhtJlyiMr93fABzU1ifmy4w9Q8RHQWElOrqqKmGUXQtRgfy3yaWbmL7l zGhMYy6MURpKgyf/rsINC6mMy08xTvWsl616oDcXn8jzIgwOnjEIYsX4WnP5HXAl SdrZbwb6lNVgu+rzOGRLtociAjZtRPCiLKarkE1JzO73K/5tchDMhaS+sIhNGcIX EK/Y+QYDW4BPRP0wHn0eU1YCYPNQPw/cvee8HcPwyii+bRHvwms= =iCDe -----END PGP SIGNATURE----- --3aelavp4qgrddn42--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20220304230904.tx26rtpu4xrpflju>