[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:
Relates
relates to MDEV-19935 Create unified CRC-32 interface Closed
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:
http://buildbot.askmonty.org/buildbot/builders/p8-xenial-bintar/builds/88/steps/test/logs/stdio

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.

Generated at Thu Feb 08 07:37:57 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.