"atomic" 64-bit math on 32-bit ppc's?

Matt Sealey matt at genesi-usa.com
Tue Sep 4 22:31:07 EST 2007

Gabriel Paubert wrote:
> On Tue, Sep 04, 2007 at 12:09:22PM +0100, Matt Sealey wrote:
>> Hi guys,
>> The Solaris PPC code drop included most of these functions for 32-bit ops on
>> 32-bit PPC architectures but the 64-bit operations are not present. What I
>> a not clear on is the operation of lwarx and stwcx. and if they will work if
>> you are doing operations on two words at a time.
> No. There is a single reservation for a single word.

This is what I gathered from the programming environments manual at least.

> the 64 bit operations inside a spinlock on PPC32, and then select the
> number /location of spinlock(s) based on your needs, from one global
> per machine to one per 64 bit variable if you find excessive contention.

Okay that makes sense, but it would have to be a super global big lock,
I don't think the code is there in ZFS to give every 64-bit variable it's
own dedicated spinlock (kind of an overhaul) and I'm trying to be fast..

Matt Sealey <matt at genesi-usa.com>
Genesi, Manager, Developer Relations

More information about the Linuxppc-dev mailing list