aboutsummaryrefslogtreecommitdiff
path: root/include/linux/crc7.h
diff options
context:
space:
mode:
authorGeorge Spelvin <linux@horizon.com>2014-06-23 15:11:54 +0200
committerMister Oyster <oysterized@gmail.com>2017-04-11 10:57:12 +0200
commit34484f6902bddf7ff4a2ca1f9c388e46df32164f (patch)
tree544486f6f723b9a249efb4e1b918034cc4125415 /include/linux/crc7.h
parent8adc535c89bfd00f201b749ec1802d6629bf219e (diff)
lib: crc32: Greatly shrink CRC combining code
There's no need for a full 32x32 matrix, when rows before the last are just shifted copies of the rows after them. There's still room for improvement (especially on X86 processors with CRC32 and PCLMUL instructions), but this is a large step in the right direction [which is in particular useful for its current user, namely SCTP checksumming over multiple skb frags[] entries, i.e. in IPVS balancing when other CRC32 offloads are not available]. The internal primitive is now called crc32_generic_shift and takes one less argument; the XOR with crc2 is done in inline wrappers. Signed-off-by: George Spelvin <linux@horizon.com> Signed-off-by: Daniel Borkmann <dborkman@redhat.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include/linux/crc7.h')
0 files changed, 0 insertions, 0 deletions