Thread (3 messages) flat view 3 messages, 3 authors, 2009-06-12

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

From: Kumar Gala <hidden>
Date: 2009-06-12 14:04:59

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 <redacted>
---
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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help