performance: memcpy vs. __copy_tofrom_user
Benjamin Herrenschmidt
benh at kernel.crashing.org
Sun Oct 12 09:32:07 EST 2008
On Wed, 2008-10-08 at 12:40 -0500, Scott Wood wrote:
>
> The performance difference most likely comes from the fact that copy
> to/from user can assume that the memory is cacheable, while memcpy is
> occasionally used on cache-inhibited memory -- so dcbz isn't used. We
> may be better off handling the alignment fault on those occasions, and
> we should use dcba on chips that support it.
Note that the kernel memcpy isn't supposed to be used for non-cacheable
memory. That's what memcpy_to/fromio are for.
But Paul has a point that for small copies especially, the cost of
the cache instructions outweigh their benefit.
Cheers,
Ben.
More information about the Linuxppc-dev
mailing list