• mysqlonarm's avatar
    MDEV-22641: Provide SIMD optimized wrapper for zlib crc32() (#1558) · dec3f8ca
    mysqlonarm authored
    Existing implementation used my_checksum (from mysys)
    for calculating table checksum and binlog checksum.
    
    This implementation was optimized for powerpc only and lacked
    SIMD implementation for x86 (using clmul) and ARM
    (using ACLE) instead used zlib-crc32.
    
    mariabackup had its own copy of the crc32 implementation
    using hardware optimized implementation only for x86 and lagged
    hardware based implementation for powerpc and ARM.
    
    Patch helps unifies all such calls and help aggregate all of them
    using an unified interface my_checksum().
    
    Said unification also enables hardware optimized calls for all
    architecture viz. x86, ARM, POWERPC.
    Default always fallback to zlib crc32.
    
    Thanks to Daniel Black for reviewing, fixing and testing
    PowerPC changes. Thanks to Marko and Daniel for early code feedback.
    dec3f8ca
ma_loghandler.c 307 KB