[Cbe-oss-dev] [PATCH 3:10] spufs: fix spu status read in spu_stopped()

Luke Browning lukebr at linux.vnet.ibm.com
Fri May 23 09:09:04 EST 2008


On Fri, 2008-05-23 at 11:22 +1000, Michael Ellerman wrote:
> On Thu, 2008-05-22 at 20:09 +0000, Luke Browning wrote:
> > Fix spu status read in spu_stopped()
> > 
> > If the spu is stopping, re-read the register to get the stopped value.
> > SPU status is a loop control variable in the calling routine.
> > 
> > Changed loop style based on Christoph Hellwig's comment.  
> > 
> > Added smp_wmb (lwsync) per CBEA specification of spu status register read.
> 
> What happens if I build a UP kernel, smp_wmb() will degenerate to a
> compiler barrier, is that what you want to happen?

Compiler barrier, assuming that is a sync, would work also as it is a
super set of what is needed.  

> 
> And isn't smp_wmb() == eieio()? Or was it changed recently? Either way
> if the spec says you need an lwsync I think you should use exactly that,
> not some macro that could be changed in future.
> 

I meant eieio().  Not lwsync.  

Luke





More information about the cbe-oss-dev mailing list