• Heiko Carstens's avatar
    s390/checksum: make ip_fast_csum() faster · 614b4f5d
    Heiko Carstens authored
    Convert ip_fast_csum() so it doesn't call csum_partial(), but instead
    open code the checksum calculation. The problem with csum_partial() is
    that it makes use of the cksm instruction, which has high startup
    costs and therefore is only very fast if used on larger memory
    regions.
    
    IPv4 headers however are small in size (5-16 32-bit words). The open
    coded variant calculates the checksum in ~30% of the time compared to
    the old variant (z14, march=z196).
    Signed-off-by: default avatarHeiko Carstens <hca@linux.ibm.com>
    Signed-off-by: default avatarVasily Gorbik <gor@linux.ibm.com>
    614b4f5d
checksum.h 3.51 KB