From: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sun, 22 Mar 2015 16:49:51 -0700 > On Sun, Mar 22, 2015 at 3:23 PM, David Miller <davem@xxxxxxxxxxxxx> wrote: >> >> Yes, using VIS how we do is alright, and in fact I did an audit of >> this about 1 year ago. This is another one of those "if this is >> wrong, so much stuff would break" > > Maybe. But it does seem like Bob Picco has narrowed it down to memmove(). > > It also bothers me enormously - and perhaps unreasonably - how that > memcpy code has memory barriers in it. I can see _zero_ reason for a > memory barrier inside a memcpy, unless the memcpy does something that > isn't valid to begin with. Are the VIS operatiosn perhaps using some > kind of non-temporal form that doesn't follow the TSO rules? Kind of > like the "movnt" that Intel has? The special cache line clearing stores (the ASI_BLK_INIT_QUAD_LDD_P stuff) do not adhere to the memory model. I had elided the memory barriers originally, but it caused memory corruption. So yes, this is similar to the 'movnt' situation. -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>