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-hackers mailing list