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. Brucehome | help
Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20080317003655.A40697>
