Roland:

The user-mode data structures do not include specific alignment
instructions to compilers. This all works great provided that the
libraries and the applications are built using the same compiler.

In working with the Intel compilers recently, however, I've found that
this compiler attempts to align data structures on boundaries that are
native to the data types. So uint64_t's are aligned on a 64b boundary.
This is an issue for ibv_recv_wr and ibv_send_wr because they are
immediately preceded by a *next ptr which is 32b on 32b architectures.

To make a long story short, I've added __attribute__((packed)) to my
locally installed header files to make this work, but we should probably
either pad these data structures internally or explicitly pack them like
I'm doing now. 

What do people think?

Tom



_______________________________________________
openib-general mailing list
[email protected]
http://openib.org/mailman/listinfo/openib-general

To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general

Reply via email to