NetBSD-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: kern/49305: deadlocks on sparc64 SMP



On 29 Oct, 2014, at 20:25 , Masao Uebayashi <uebayasi%gmail.com@localhost> wrote:
> If that's true, a missing membar_consumer() before:
> 
> http://nxr.netbsd.org/xref/src/sys/kern/subr_pcq.c#165
> 
> otherwise pcq_items[] values may be cached?

I don't think so.  A membar_consumer() would ensure the
read at line 165 was ordered after previous reads, with
the read at line 159 being the only relevant one.  In this
case, though, the read at 165 is dependent on the read
at 159 (it uses the result from 159 to determine what to
read at 165) and this is normally sufficient to ensure
correct ordering without a barrier.  I'm pretty sure the
only machine where a barrier would change anything here
is a multiprocessor DEC Alpha, which had an odd cache
arrangement; for everything else it is okay the way it
is.


Home | Main Index | Thread Index | Old Index