> The mmiowb() is definitely necessary, because without it then commands > were getting messed up on large Altix systems.
I'm using Duo-core Xeon and I just grep the source of "mmiowb()" in kernel 2.6.23 include/asm-x86_64 /io.h and found that this function does nothing on x86_64 platform, is it true? Thanks! Yicheng Roland Dreier <[EMAIL PROTECTED]> 01/02/2008 02:52 PM To Yicheng Jia <[EMAIL PROTECTED]> cc [email protected], Jack Morgenstein <[EMAIL PROTECTED]> Subject Re: [ofa-general] synchronize commands issued to MTHCA > Could you tell me what's the difference between "wmb()" and "mmiowb()". I > notice that ofa-1.3 has added "mmiowb()" at the end of mthca_cmd_post, > since "wmb()" is already called at the end of cmd_post, is "mmiowb()" > really necessary? wmb() orders writes from the same CPU -- it prevents highly out-of-order architectures from making writes visible in an order different from program order. mmiowb() orders MMIO writes between different CPUs, and prevents systems (such as SGI Altix) where the CPU fabric may reorder writes before they reach the IO bus. The mmiowb() is definitely necessary, because without it then commands were getting messed up on large Altix systems. - R. _____________________________________________________________________________ Scanned by IBM Email Security Management Services powered by MessageLabs. For more information please visit http://www.ers.ibm.com _____________________________________________________________________________
_______________________________________________ general mailing list [email protected] http://lists.openfabrics.org/cgi-bin/mailman/listinfo/general To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general
