powerpc64 head -r344018 stuck sleeping problems: th->th_scale * tc_delta(th) overflows unsigned 64 bits sometimes [patched failed]
Mark Millard
marklmi at yahoo.com
Mon Mar 4 20:58:26 UTC 2019
On 2019-Mar-4, at 10:17, Bruce Evans <brde at optusnet.com.au> wrote:
>> . . .
>
> I think it is just a kludge that reduced the problem before it was fixed
> properly using fences.
>
> Cross-socket latency is over 100 cycles according to jhb's tscskew
> benchmark: on Haswell 4x2:
>
> CPU | TSC skew (min/avg/max/stddev)
> ----+------------------------------
> 0 | 0 0 0 0.000
> 1 | 24 49 84 14.353
> 2 | 164 243 308 47.811
> 3 | 164 238 312 47.242
> 4 | 168 242 332 49.593
> 5 | 168 243 324 48.722
> 6 | 172 242 320 52.596
> 7 | 172 240 316 53.014
>
> freefall is similar. Latency is apparently measured relative to CPU 0.
> It is much lower to CPU 1 since that is on the same core.
>
You may want to look at:
https://lists.freebsd.org/pipermail/freebsd-hackers/2019-March/054218.html
for cruder, but somewhat related, information for
the old Powermac G5 2-socket with 2 cores each, given
how FreeBSD tries to synchronize the tbr's across
cores as it starts up the CPUs.
It may give some idea of a ball-park scale involved for
such context, especially the reports of what happened
for varying one figure in the source code.
As stands, I've only done the experiments with a debug
kernel build.
I built using devel/powerpc64-xtoolchain-gcc related
infrastructure, not gcc 4.2.1 . (This is typical for me.)
===
Mark Millard
marklmi at yahoo.com
( dsl-only.net went
away in early 2018-Mar)
More information about the freebsd-ppc
mailing list