On Saturday 08 September 2007 18:53, Andi Kleen wrote: > On Friday 07 September 2007 20:13:12 Nick Piggin wrote: > > On Sunday 09 September 2007 03:48, Nick Piggin wrote: > > > There is some suggestion in the source code that non-temporal stores > > > (movntq) are weakly ordered. But AFAIKS from the documents, it is > > > ordered when operating on wb memory. What's the situation there? > > > > Sorry, it looks from the AMD document like nontemporal stores to wb > > memory can go out of order. > > Yes, that is how NT stores are defined. > > > If this is the case, we can either retain the sfence in smp_wmb(), or > > noop it, and put explicit sfences around any place that performs > > nontemporal stores... > > We do this already, but in most cases it doesn't matter anyways. We AFAIK > do not rely on any ordering for copy_*_user for example. There are not > that many users of nt so it's not a huge issue.
OK, but we just don't want to be making lots of little exceptions. For bulk copies, I don't see it being a big issue to always sfence around them (it would be a relatively minor cost). > > Anyway, the lfence should be able to go away without so much trouble. > > You mean sfence? lfence in rmb is definitely needed. I mean lfence in smp_rmb(). > sfence on x86-64 is not strictly needed, but also shouldn't hurt very much > so I always kept it in. > > -Andi - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/