Uploaded image for project: 'MariaDB Server'
  1. MariaDB Server
  2. MDEV-9288

[PATCH] crc32 implement suboptimal on Power platform

Details

    • 10.1.10

    Description

      IBM Power doesn't have SSE and the generic implementation generates poorly performing CRC32 code.

      A good implementation from https://github.com/antonblanchard/crc32-vpmsum forms the basis for improvement.

      running MySQL-5.7 unittest/gunit/innodb/ut0crc32-t

      Before:

      1..2
      Using software crc32 implementation, CPU is little-endian
      ok 1
      Using software crc32 implementation, CPU is little-endian
      normal CRC32: real 0.148006 sec
      normal CRC32: user 0.148000 sec
      normal CRC32: sys 0.000000 sec
      big endian CRC32: real 0.144293 sec
      big endian CRC32: user 0.144000 sec
      big endian CRC32: sys 0.000000 sec
      ok 2

      After:

      1..2
      Using POWER8 crc32 implementation, CPU is little-endian
      ok 1
      Using POWER8 crc32 implementation, CPU is little-endian
      normal CRC32: real 0.008097 sec
      normal CRC32: user 0.008000 sec
      normal CRC32: sys 0.000000 sec
      big endian CRC32: real 0.147043 sec
      big endian CRC32: user 0.144000 sec
      big endian CRC32: sys 0.000000 sec

      Attachments

        Activity

          commit 953d5680a3c050273a8f29253f7386984679f92b
          Merge: 1ac6640 60f09cd
          Author: Jan Lindström <jan.lindstrom@mariadb.com>
          Date: Wed Dec 16 09:34:24 2015 +0200

          Merge pull request #133 from grooverdan/power-crc32

          MDEV-9288: Use POWER8 accelerated crc32

          commit 60f09cd2b7913ae2f0807de03233d18a09876454
          Author: Daniel Black <daniel.black@au.ibm.com>
          Date: Wed Dec 16 11:12:05 2015 +1100

          MDEV-9288: portablity for compling on non-power platforms

          Also removed surperflous stdio include.

          jplindst Jan Lindström (Inactive) added a comment - commit 953d5680a3c050273a8f29253f7386984679f92b Merge: 1ac6640 60f09cd Author: Jan Lindström <jan.lindstrom@mariadb.com> Date: Wed Dec 16 09:34:24 2015 +0200 Merge pull request #133 from grooverdan/power-crc32 MDEV-9288 : Use POWER8 accelerated crc32 commit 60f09cd2b7913ae2f0807de03233d18a09876454 Author: Daniel Black <daniel.black@au.ibm.com> Date: Wed Dec 16 11:12:05 2015 +1100 MDEV-9288 : portablity for compling on non-power platforms Also removed surperflous stdio include.

          People

            jplindst Jan Lindström (Inactive)
            danblack Daniel Black
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Git Integration

                Error rendering 'com.xiplink.jira.git.jira_git_plugin:git-issue-webpanel'. Please contact your Jira administrators.