svn commit: r313037 - in head/sys: amd64/include kern mips/include net powerpc/include sparc64/include

Andreas Tobler andreast at FreeBSD.org
Sun Feb 5 21:06:59 UTC 2017


On 05.02.17 19:59, Jason Harmening wrote:
> Actually attaching the patch this time (**** gmail client)
>
> On Sun, Feb 5, 2017 at 10:58 AM, Jason Harmening
> <jason.harmening at gmail.com <mailto:jason.harmening at gmail.com>> wrote:
>
>     Hmm, it's a good idea to consider the possibility of a barrier
>     issue.  It wouldn't be the first time we've had such a problem on a
>     weakly-ordered architecture. That said, I don't see a problem in
>     this case.  smp_rendezvous_cpus() takes a spinlock and then issues
>     atomic_store_rel_int()  to ensure the rendezvous params are visible
>     to other cpus.  The latter corresponds to lwsync on powerpc, which
>     AFAIK should be sufficient to ensure visibility of prior stores.
>
>     For now I'm going with the simpler explanation that I made a bad
>     assumption  in the powerpc get_pcpu() and there is some context in
>     which the read of sprg0 doesn't return a consistent pointer value.
>     Unfortunately I don't see where that might be right now.
>
>     On the mips side, Kurt/Alexander can you test the attached patch?
>     It contains a simple fix to ensure get_pcpu() returns the consistent
>     per-cpu pointer.


Here the panic I received with the latest patch you sent. World & kernel 
are on 313286 + patch.

https://people.freebsd.org/~andreast/pcpu/

It is the same panic, pic 2 is with a try to get a core ....

The load issue was a gmake -j8 bootstrap of todays gcc trunk sources. 
The machine has 2 physical CPU's, two threads pre cpu :)

I revert now and see if the situation becomes stable again or if there 
is something else.

Andreas



More information about the svn-src-head mailing list