On 11/22/05, Tian, Kevin <kevi...@intel.com> wrote:
Now I think even '16' can't cover all cases. It's possible for a user defined
structure with .align directive to force by '32' or larger, and then allocator
happens to have similar check upon SMP_CACHE_BYTES like case in this thread.
Because both structure definition and allocator may have no idea about IA64
trick of saving space for UP. Max alignment of any C style only solves the
natural alignment case, but not above forced one. We can just give its real
assumption to SMP_CACHE_BYTES - cache line size. ;-)
Not likely to be a problem. Memory allocators generally guarantee
only 16-byte alignment (as per ia64 software conventions).
--david