performance: memcpy vs. __copy_tofrom_user

Benjamin Herrenschmidt benh at
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.


More information about the Linuxppc-embedded mailing list