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>
