Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 17 Mar 2008 00:45:12 +1100 (EST)
From:      Bruce Evans <brde@optusnet.com.au>
To:        Jeff Roberson <jroberson@chesapeake.net>
Cc:        Kip Macy <kip.macy@gmail.com>, arch@freebsd.org
Subject:   Re: separating out memory checks from INVARIANTS
Message-ID:  <20080317003655.A40697@besplex.bde.org>
In-Reply-To: <20080315201153.X910@desktop>
References:  <b1fa29170803152244k5f31065dt135b605a54a4d0da@mail.gmail.com>  <20080315195328.V910@desktop> <b1fa29170803152255g402d08abo1b0711176f55d763@mail.gmail.com> <20080315201153.X910@desktop>

index | next in thread | previous in thread | raw e-mail

On Sat, 15 Mar 2008, Jeff Roberson wrote:

> On Sat, 15 Mar 2008, Kip Macy wrote:
>> Would it make it possible to do memory allocation without holding a
>> lock in the M_NOWAIT case?
>
> Yes, when I originally wrote the code it didn't require a lock because I 
> relied on byte writes being atomic.  However, we had platforms for which that 
> wasn't true. (alpha).  It may be that it's safe not to lock even now on 
> x86/amd64.  I don't know the specifics of the memory architectures on 
> powerpc, arm, mips, etc. though.

sparc64 only supports atomic ops on sizes 32 and 64 bits.  I think it
and not alpha was responsible for eliminating use of 8 and 16 bit
atomic ops in MI code.

My version of atomic.h for i386 only supports atomic ops on size 32.
8 and 16 bit atomic ops are not usable in MI code and are or were not
used in i386 MD code, so they are just interface bloat.

Bruce


home | help

Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20080317003655.A40697>