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
Conversation
Prepares for common use of implementation of: Bug#79155 optimized crc32 for CRC32() function Bug#79325 optimized crc32 for binary log checksums
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
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
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
Hi, thank you for your contribution. Please confirm this code is submitted under the terms of the OCA (Oracle's Contribution Agreement) you have previously signed by cutting and pasting the following text as a comment: |
I confirm the code being submitted is offered under the terms of the OCA, and that I am authorized to contribute it. |
To facilitate: Bug#79155 optimized crc32 for CRC32() function Bug#79325 optimized crc32 for binary log checksums
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
Solves: Bug#79155 optimized crc32 for CRC32() function
@grooverdan - Thanks for the contribution. The last commit (Add support for autodetection and usage of hardware CRC32 instructions) is by @akopytov who is not covered by your OCA. As such we cannot accept the contribution with it Please remove @akopytov's commit it from the pull request. Thanks |
@mysql-admin done. grooverdan@af62807 is still around for when merging #31 is need (wasn't that complicated). |
Hi, thank you for your contribution. Your code has been assigned to an internal queue. Please follow |
…ble-check Fix checking the wrong variable
moves optimized crc32 code from storage/innobase
solves the following bugs:
bug #79144 No hardware CRC32 implementation for AArch64 - rework of @akopytov's #31
bug#79325 Use hardware optimized crc32 for binary log checksums
bug #79155 Use hardware optimized crc32 for CRC32() function.
bug #74776 InnoDB checksums (new or crc32) use too much CPU on POWER8