On 09/20/2011 06:51 PM, Mathieu Desnoyers wrote:
> I think you're right. "eieio;lwsync" is good for rmb, lwsync is good for
> wmb/smp_rmb/smp_wmb.
I'm not convinced that the "eieio; lwsync" combo would provide the
ordering we're looking for for cmm_rmb(). AFAIK, eieio orders,
separately, a) cacheable stores and b) loads and stores to non-cacheable
memory. AFAIK, lwsync orders cacheable memory ops, but not loads with
respect to previous stores. So basically, this combo lacks ordering of
non-cacheable memory accesses with respect to cachable memory accesses.
Yeah, better safe than sorry.
Why would lwsync be good for cmm_wmb ? Does it order non-cacheable
writes ?
The manuals say non-cacheable writes are always ordered.
Paolo
_______________________________________________
ltt-dev mailing list
[email protected]
http://lists.casi.polymtl.ca/cgi-bin/mailman/listinfo/ltt-dev