On 2001-Jan-17 10:28:03 -0800, John Baldwin <[EMAIL PROTECTED]> wrote:
>  So as long as we keep all
>atomically-accessed 64-bit integers within a single page we should be fine for
>CX8 on all pentiums should we even want 64-bit atomic ops.

This comes free of charge (along with better performance) if all
64-bit objects are aligned on 8-byte boundaries.  By default our gcc
only enforces long (4-byte) alignment (apparently, this is part of the
IA32 ABI).  We can get 8-byte alignment by adding
"__attribute__((aligned(8)))" to the object definition.

This is one area where I think we would be better off changing our
gcc to default to aligning "long long" (and maybe "double") at
8-byte boundaries.

We should at least have an alignment expansion in <sys/cdefs.h>

Peter



To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message

Reply via email to