diff options
author | Anton Blanchard | 2012-06-04 18:02:22 +0200 |
---|---|---|
committer | Benjamin Herrenschmidt | 2012-07-03 06:14:48 +0200 |
commit | cf8fb5533f35709ba7e31560264b565a9c7a090f (patch) | |
tree | 5964991a949f151f59dd427acffe3572c9edb2d1 /arch/powerpc/platforms/85xx/corenet_ds.c | |
parent | powerpc/iommu: Implement IOMMU pools to improve multiqueue adapter performance (diff) | |
download | kernel-qcow2-linux-cf8fb5533f35709ba7e31560264b565a9c7a090f.tar.gz kernel-qcow2-linux-cf8fb5533f35709ba7e31560264b565a9c7a090f.tar.xz kernel-qcow2-linux-cf8fb5533f35709ba7e31560264b565a9c7a090f.zip |
powerpc: Optimise the 64bit optimised __clear_user
I blame Mikey for this. He elevated my slightly dubious testcase:
to benchmark status. And naturally we need to be number 1 at creating
zeros. So lets improve __clear_user some more.
As Paul suggests we can use dcbz for large lengths. This patch gets
the destination cacheline aligned then uses dcbz on whole cachelines.
Before:
10485760000 bytes (10 GB) copied, 0.414744 s, 25.3 GB/s
After:
10485760000 bytes (10 GB) copied, 0.268597 s, 39.0 GB/s
39 GB/s, a new record.
Signed-off-by: Anton Blanchard <anton@samba.org>
Tested-by: Olof Johansson <olof@lixom.net>
Acked-by: Olof Johansson <olof@lixom.net>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Diffstat (limited to 'arch/powerpc/platforms/85xx/corenet_ds.c')
0 files changed, 0 insertions, 0 deletions