[MDEV-9872] Add common optimized CRC32 function interface Created: 2016-04-06 Updated: 2019-07-03 Resolved: 2016-08-04 |
|
| Status: | Closed |
| Project: | MariaDB Server |
| Component/s: | Replication, Storage Engine - InnoDB, Storage Engine - XtraDB |
| Fix Version/s: | 10.2.2 |
| Type: | Task | Priority: | Major |
| Reporter: | Daniel Black | Assignee: | Sergey Vojtovich |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | contribution, foundation, patch | ||
| Issue Links: |
|
||||||||
| Sprint: | 10.2.1-1, 10.2.1-2, 10.2.2-1 | ||||||||
| Description |
|
patch as per https://github.com/MariaDB/server/pull/170 adds optimized Power8 implemention for CRC32-IEEE to complement existing CRC32C. While I haven't included an implementation of an optimized CRC32-(IEEE) for intel, there is the following links that would enable this:
Note the documentation mentions patents on CRC32 folding (which I haven't done). |
| Comments |
| Comment by Sergey Vojtovich [ 2016-07-05 ] |
|
serg, please review patch for this task (b6d7d5878eecc7f0cb76f8f99a9989686ff9715c). |
| Comment by Sergey Vojtovich [ 2016-07-05 ] |
|
upd: e252dae86392a2b50d647a380db36fb8b01bf405 |
| Comment by Daniel Black [ 2016-07-05 ] |
|
svoj thanks, sorry I didn't get back to this sooner. If you need a hand let me know. |
| Comment by Sergey Vojtovich [ 2016-07-06 ] |
|
danblack, no problem. It'd be nice if you could review this patch and let me know if I missed something. |
| Comment by Sergey Vojtovich [ 2016-08-03 ] |
|
Waiting for feedback. |
| Comment by Sergei Golubchik [ 2016-08-03 ] |
|
ok to push |
| Comment by Sergey Vojtovich [ 2016-08-04 ] |
|
danblack, we're now getting failures like this: I noticed that crc32-vpmsum sources differ in your PR. Did you also see these failures? Could you elaborate the difference? |
| Comment by Daniel Black [ 2016-08-05 ] |
|
The crux of it is innodb uses CRC32C and the rest of MySQL (my_checksum) uses CRC32-IEEE. I'll patch in both implementations into the crc32-vpmsum library and then get my_checksum to point to the vpmsum crc32-ieee implementation |
| Comment by Daniel Black [ 2016-08-05 ] |
|
https://github.com/MariaDB/server/pull/211 - test case for SQL CRC32 function https://github.com/MariaDB/server/pull/210 - Add both versions of the CRC32 and adjust my_checksum to use the optimized version. |