Date: Tue, 16 Jan 2001 12:08:03 -0800 From: Julian Elischer <julian@elischer.org> To: Bruce Evans <bde@zeta.org.au> Cc: John Baldwin <jhb@FreeBSD.ORG>, Peter Jeremy <peter.jeremy@alcatel.com.au>, current@FreeBSD.ORG, Mark Murray <mark@grondar.za> Subject: Re: Atomic breakage? Message-ID: <3A64AA23.30035A1C@elischer.org> References: <Pine.BSF.4.21.0101162335080.2035-100000@besplex.bde.org>
next in thread | previous in thread | raw e-mail | index | archive | help
Bruce Evans wrote: > > On Mon, 15 Jan 2001, John Baldwin wrote: > > > On 14-Jan-01 Peter Jeremy wrote: > > > And for BDE's benefit - atomic.h is broken for IA32's with 64-bit > > > longs. (I believe that can be fixed for Pentiums and above using > > > CMPXCHG8B, but I can't test the code). > > > > The i386 with 64-bit longs doesn't boot from what I hear. Also, long in > > machine/types.h is 32-bits long. I don't think we need to bother with 64-bit > > longs. Adding 64-bit atomic ops will be expensive on <= 486. > > It has booted fine for several years. I last built it on 8 Oct 2000. I > haven't committed all the bits so it probably doesn't even build in -current. > > Erm, long isn't in machine/types.h. In <machine>, only the long limits in > <machine/limits.h> and a few bogus typedefs depend on the size of a long. > > I bother with 64-bit longs whether I need to or not :-). They get used on > i386's mainly in old code and interfaces that don't use typedefs. > Hopefully 64-bit scalars will never need to be accessed atomically. Too late. Many statistics in interfaces (i.e. bytes transmitted) are already 64 bit words. > > Bruce > > To Unsubscribe: send mail to majordomo@FreeBSD.org > with "unsubscribe freebsd-current" in the body of the message -- __--_|\ Julian Elischer / \ julian@elischer.org ( OZ ) World tour 2000 ---> X_.---._/ from Perth, presently in: Budapest v To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?3A64AA23.30035A1C>