On Sun, Mar 22, 2015 at 10:36 AM, David Miller <davem@xxxxxxxxxxxxx> wrote: > > And they end up using that byte-at-a-time code, since SLAB and SLUB > do mmemove() calls of the form: > > memmove(X + N, X, LEN); Actually, the common case in slab is overlapping but of the form memmove(p, p+x, len); which goes to memcpy. It's basically re-compacting the array at the beginning. Which was why I was asking how sure you are that memcpy *always* copies from low to high. I don't even know which version of memcpy ends up being used on M7. Some of them do things like use VIS. I can follow some regular sparc asm, there's no way I'm even *looking* at that. Is it really ok to use VIS registers in random contexts? Linus -- 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>