[Date Prev][Date Next][Thread Prev][Thread Next]
[Date Index]
[Thread Index]
- Subject: Re: hook question
- From: Dave Dodge <dododge@...>
- Date: Wed, 11 Oct 2006 03:30:13 -0400
On Tue, Oct 10, 2006 at 02:07:51PM +0200, Mike Pall wrote:
> Please. If updates to a pointer sized quantity (32 bit on 32 bit
> systems, 64 bit on 64 bit systems) are non-atomic, fire the CPU
> designer team. AFAIK none of the 64 bit multi-core machines on
> the market do this.
The ARMv6 SMP code in the Linux kernel uses a small block of assembly
code, including a loop, to perform an atomic store. It has a dire
warning that a normal store is not sufficient.
Sparc32 (which is certainly still out there in SMP configurations)
requires spinlocks and other mechanisms to get 32-bit atomic
operations. It was famously limited to only 24 bits of atomicity in
the Linux kernel until relatively recently.
I'm sure there's more...
-Dave Dodge