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 from this list: send the line "unsubscribe sparclinux" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html