Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 2 Mar 2019 12:56:52 +0200
From:      Konstantin Belousov <kostikbel@gmail.com>
To:        Ian Lepore <ian@freebsd.org>
Cc:        Poul-Henning Kamp <phk@phk.freebsd.dk>, Mark Millard <marklmi@yahoo.com>,  Mark Millard via freebsd-hackers <freebsd-hackers@freebsd.org>, Konstantin Belousov <kib@freebsd.org>, bde@freebsd.org, FreeBSD PowerPC ML <freebsd-ppc@freebsd.org>
Subject:   Re: powerpc64 head -r344018 stuck sleeping problems: th->th_scale * tc_delta(th) overflows unsigned 64 bits sometimes [patched failed]
Message-ID:  <20190302105652.GD68879@kib.kiev.ua>
In-Reply-To: <210dfd0f50ee6b1149c914ee503502654eb5f328.camel@freebsd.org>
References:  <D3D7E9F4-9A5E-4320-B3C8-EC5CEF4A2764@yahoo.com> <20190228145542.GT2420@kib.kiev.ua> <20190228150811.GU2420@kib.kiev.ua> <962D78C3-65BE-40C1-BB50-A0088223C17B@yahoo.com> <28C2BB0A-3DAA-4D18-A317-49A8DD52778F@yahoo.com> <20190301112717.GW2420@kib.kiev.ua> <679402FF-907C-43AF-B18C-8C9CC857D7A6@yahoo.com> <6669.1551473821@critter.freebsd.dk> <210dfd0f50ee6b1149c914ee503502654eb5f328.camel@freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Fri, Mar 01, 2019 at 02:11:33PM -0700, Ian Lepore wrote:
> On Fri, 2019-03-01 at 20:57 +0000, Poul-Henning Kamp wrote:
> > --------
> > In message <679402FF-907C-43AF-B18C-8C9CC857D7A6@yahoo.com>, Mark
> > Millard via freebsd-hackers writes:
> > 
> > > > I must admit that 2 seconds of interval where the timehands where
> > > > not updated is too much.
> > 
> > I have no idea how you got in that situation, but it is very far
> > from how timecounters were designed to work.
> > 
> 
> I wonder if it's fallout from reducing the number of timehands to 2,
> which always struck me as a really bad idea. I know of at least one arm
> configuration which fails because of it (it takes a combo of a single-
> core system, and a pps capture driver that uses hardware latching of
> the timer and the polling method for reading the latched value; given
> all that, at least 4 sets of timehands are needed to avoid losing PPS
> events due to generation changes).

Using more than two timehands increases a chance of reader to try to
use outdated timehands.  In theory, on the hardware with very high
inter-core propagation (e.g. with sufficiently large store buffers)
it is possible for other CPU to use non-current timehands.  More
timehands you have, larger is the relative error.

If you have very specific configuration which contradicts to the typical
modern hardware configuration, I do not see a problem restoring some more
timehands entries under a config option.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20190302105652.GD68879>