------- Comment From i...@de.ibm.com 2022-10-10 19:01 EDT-------
Thanks! With

https://ppa.launchpadcontent.net/fheimes/lp1990379+lp1982583/ubuntu
kinetic/main s390x zlib1g s390x 1:1.2.11.dfsg-4.1ubuntu2

the following command:

python3 -c 'import zlib; zlib.crc32(b"X"*5000000000)'

begins to work ~2x faster.

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to zlib in Ubuntu.
https://bugs.launchpad.net/bugs/1982583

Title:
  Fix for zlib CRC32 optimization for s390x

Status in Ubuntu on IBM z Systems:
  In Progress
Status in zlib package in Ubuntu:
  In Progress

Bug description:
  SRU Justification:
  ------------------

  [ Impact ]

   * There were two issues identified in the current
     zlib CRC32 optimization for s390x implementation:

   * 1) s390_crc32_vx() signature mismatch
        which causes a warning

   * 2) '-DS390_CRC32_VX' was not added to SFLAGS
        which results in vectorization being enabled only in the static library.

   * The fixes are quite small and affect each only one line:

   * 1) by using unsigned longs instead of uint32_t in s390_crc32_vx
  declaration

   * 2) by add line 'SFLAGS="$SFLAGS -DS390_CRC32_VX"'

  [ Test Plan ]

   * An affected Ubuntu release ([20.04], 22.04 and 22.10) installed
     on a z15/LinuxONE III or newer system is needed.

   * Then it's possible to test the updated package with the help
     of a small test program (in C) that checks for
     s390_crc32_vx() signature mismatches.

   * The bug reporter has a set of s390x-specific tests that will be
  executed.

   * Test will be done by IBM.

  [ Where problems could occur ]

   * The fixes are each limited to one line, hence there are
     not many issues to expect, other than:

   * Typos (e.g. in the flags), mixing of CFLAGS and SFLAGS,

   * in case the changed data type in s390_crc32_vx is causing issues
     inside of s390_crc32_vx or in other parts of the code.

   * Structural and syntactical issues can be identified with a test build
     that was done for all affected Ubuntu releases and for all major archs:
     https://launchpad.net/~fheimes/+archive/ubuntu/lp1990379+lp1982583

  [ Other Info ]

   * This bug (LP#1982583) is solved in combination with LP#1990379,
     so that only one package update is needed.
     However, LP#1990379 also affects Focal, but this bug only Jammy and 
Kinetic.

   * To fix LP#1990379 also for focal the debdiff mentioned there is needed, 
too.
  __________

  'zlib CRC32 optimization for s390x works only in a static library'

  I've discovered two issues in lp1932010-ibm-z-add-vectorized-
  crc32-implementation.patch:

  1) s390_crc32_vx() signature mismatch, resulting in a warning.
  2) -DS390_CRC32_VX is not added to SFLAGS, resulting in vectorization being 
enabled only in the static library.

  I've attached the updated patch.

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu-z-systems/+bug/1982583/+subscriptions


-- 
Mailing list: https://launchpad.net/~touch-packages
Post to     : touch-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~touch-packages
More help   : https://help.launchpad.net/ListHelp

Reply via email to