separating out memory checks from INVARIANTS

Bruce Evans brde at optusnet.com.au
Sun Mar 16 13:46:44 UTC 2008


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


More information about the freebsd-arch mailing list