[PATCH RFC] powerpc: Implement atomic64_t for 32-bit processors

Kumar Gala galak at kernel.crashing.org
Sat Jun 13 00:04:52 EST 2009


On Jun 12, 2009, at 7:02 AM, Paul Mackerras wrote:

> 32-bit powerpc processors have no 64-bit atomic instructions, but we  
> will
> need atomic64_t in order to support the perf_counter subsystem on 32- 
> bit
> processors.
>
> This adds an implementation of 64-bit atomic operations using hashed
> spinlocks to provide atomicity.  For each atomic operation, the  
> address
> of the atomic64_t variable is hashed to an index into an array of 16
> spinlocks.  That spinlock is taken (with interrupts disabled) around  
> the
> operation, which can then be coded non-atomically within the lock.
>
> On UP, all the spinlock manipulation goes away and we simply disable
> interrupts around each operation.  In fact gcc eliminates the whole
> atomic64_lock variable as well.
>
> Signed-off-by: Paul Mackerras <paulus at samba.org>
> ---
> Compile-tested only at this stage, which is why it's [RFC].

any reason not to make this lib/asm generic?  Seems like it isn't ppc  
specific.

- k


More information about the Linuxppc-dev mailing list