summaryrefslogtreecommitdiffstats
path: root/net
diff options
context:
space:
mode:
authorGeorge Spelvin <linux@horizon.com>2014-06-23 15:11:54 +0200
committerDavid S. Miller <davem@davemloft.net>2014-06-25 16:03:59 -0700
commit6d514b4e7737ad75a7e7e0a3f7dde45d46341691 (patch)
tree20edf4e5f96fbf08e9e0136fec63bf13009f026a /net
parent5433ba365f6dd9f30899188755eb4b093314732c (diff)
downloadop-kernel-dev-6d514b4e7737ad75a7e7e0a3f7dde45d46341691.zip
op-kernel-dev-6d514b4e7737ad75a7e7e0a3f7dde45d46341691.tar.gz
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 'net')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud