s390/checksum: provide csum_partial_copy_nocheck()
authorHeiko Carstens <hca@linux.ibm.com>
Sat, 3 Feb 2024 10:45:23 +0000 (11:45 +0100)
committerHeiko Carstens <hca@linux.ibm.com>
Fri, 16 Feb 2024 13:30:17 +0000 (14:30 +0100)
commitdcd3e1de9d17dc43dfed87a9fc814b9dec508043
treef4dc28be4bafb8cde3a619428250517fac82244d
parentcb2a1dd589a0ce97429bf2beeb560e5b030c2ccc
s390/checksum: provide csum_partial_copy_nocheck()

With csum_partial(), which reads all bytes into registers it is easy to
also implement csum_partial_copy_nocheck() which copies the buffer while
calculating its checksum.

For a 512 byte buffer this reduces the runtime by 19%. Compared to the old
generic variant (memcpy() + cksm instruction) runtime is reduced by 42%).

Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
arch/s390/include/asm/checksum.h
arch/s390/include/asm/fpu-insn-asm.h
arch/s390/include/asm/fpu-insn.h
arch/s390/lib/csum-partial.c