1
linux/arch/powerpc
Anton Blanchard fdd374b62c powerpc: Optimise 64bit csum_partial_copy_generic and add csum_and_copy_from_user
We use the same core loop as the new csum_partial, adding in the
stores and exception handling code. To keep things simple we do all the
exception fixup in csum_and_copy_from_user. This wrapper function is
modelled on the generic checksum code and is careful to always calculate
a complete checksum even if we only copied part of the data to userspace.

To test this I forced checksumming on over loopback and ran socklib (a
simple TCP benchmark). On a POWER6 575 throughput improved by 19% with
this patch. If I forced both the sender and receiver onto the same cpu
(with the hope of shifting the benchmark from being cache bandwidth limited
to cpu limited), adding this patch improved performance by 55%

Signed-off-by: Anton Blanchard <anton@samba.org>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
2010-09-02 14:07:30 +10:00
..
boot Merge remote branch 'jwb/merge' into merge 2010-08-24 14:36:45 +10:00
configs powerpc: Trim defconfigs 2010-08-09 11:19:16 +10:00
include/asm powerpc: Optimise 64bit csum_partial_copy_generic and add csum_and_copy_from_user 2010-09-02 14:07:30 +10:00
kernel powerpc: Don't use kernel stack with translation off 2010-08-31 11:35:13 +10:00
kvm Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc 2010-08-05 09:03:46 -07:00
lib powerpc: Optimise 64bit csum_partial_copy_generic and add csum_and_copy_from_user 2010-09-02 14:07:30 +10:00
math-emu
mm powerpc: Export memstart_addr and kernstart_addr on ppc64 2010-08-24 15:26:26 +10:00
oprofile powerpc/oprofile: Don't build server oprofile drivers on 64-bit BookE 2010-07-14 14:13:54 +10:00
platforms powerpc/pseries: Correct rtas_data_buf locking in dlpar code 2010-09-02 10:07:38 +10:00
sysdev powerpc/85xx: Add P1021 PCI IDs and quirks 2010-08-31 16:44:24 -05:00
xmon Input: sysrq - drop tty argument from sysrq ops handlers 2010-08-19 22:07:06 -07:00
Kconfig Merge branch 'timers-timekeeping-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2010-08-06 13:18:29 -07:00
Kconfig.debug powerpc: Unconditionally enabled irq stacks 2010-06-15 15:02:37 +10:00
Makefile powerpc: Fix typo in uImage target 2010-08-24 15:26:32 +10:00
relocs_check.pl