Messages in this thread |  | | Date | Sun, 22 Mar 2015 12:47:08 -0700 | | Subject | Re: 4.0.0-rc4: panic in free_block | | From | Linus Torvalds <> |
| |
On Sun, Mar 22, 2015 at 10:36 AM, David Miller <davem@davemloft.net> 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
|  |