Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Bug #79747: CRC32: add aarch64 and power8, use optimized for binlogs and CRC32() #41

Closed
wants to merge 8 commits into from
Closed

Commits on Dec 22, 2015

  1. Move crc32 implementation from storage/innodb to mysys

    Prepares for common use of implementation of:
    Bug#79155 optimized crc32 for CRC32() function
    Bug#79325 optimized crc32 for binary log checksums
    grooverdan committed Dec 22, 2015
    Copy the full SHA
    8758b4a View commit details
    Browse the repository at this point in the history
  2. Add common text description of crc32 for logging

    Facilitates expansion of description for other optmised crc32 implementations:
    Bug#74776    InnoDB checksums (new or crc32) use too much CPU on POWER8
    Bug#79144    No hardware CRC32 implementation for AArch64
    grooverdan committed Dec 22, 2015
    Copy the full SHA
    392b0ca View commit details
    Browse the repository at this point in the history
  3. Add POWER8 optimized crc32 code

    ref: https://github.com/antonblanchard/crc32-vpmsum
    
    Bug#79144: No hardware CRC32 implementation for AArch64#74776 	InnoDB checksums (new or crc32) use too much CPU on POWER8
    antonblanchard authored and grooverdan committed Dec 22, 2015
    Copy the full SHA
    f95abb7 View commit details
    Browse the repository at this point in the history
  4. Hook power8 crc32 implementation in for linux ppc64le platform

    This is only used on Linux where we detect (at runtime) that ARCH_2_07
    is available (which has the necessary hardware instructions).
    Bug#74776 	InnoDB checksums (new or crc32) use too much CPU on POWER8
    daxtens authored and grooverdan committed Dec 22, 2015
    Copy the full SHA
    314d713 View commit details
    Browse the repository at this point in the history
  5. Initialise crc32 globally

    To facilitate:
    Bug#79155 optimized crc32 for CRC32() function
    Bug#79325 optimized crc32 for binary log checksums
    grooverdan committed Dec 22, 2015
    Copy the full SHA
    a0e2c4f View commit details
    Browse the repository at this point in the history
  6. Copy the full SHA
    756b908 View commit details
    Browse the repository at this point in the history
  7. Replace binary_log::checksum_crc32 with optimized ut0crc32 version

    This preserves the same api as zlib's crc32
    
    *_ex(tended) crc32 functions added to handle incremental crc32 calculations.
    
    Static initializer Log_event::_init LogEvent::_initializer; added to ensure
    client programs that use LogEvent have crc32 initialized.
    
    mysqlbinlog and mysqld's binlog code now uses optimized crc32 code rather than
    zlib's.
    
    Solves:
    Bug#79325 optimized crc32 for binary log checksums
    grooverdan committed Dec 22, 2015
    Copy the full SHA
    6b47c30 View commit details
    Browse the repository at this point in the history
  8. use optimized crc32 function for SQL crc32 function

    Solves:
    Bug#79155 optimized crc32 for CRC32() function
    grooverdan committed Dec 22, 2015
    Copy the full SHA
    d0ebe00 View commit details
    Browse the repository at this point in the history