zlib icon indicating copy to clipboard operation
zlib copied to clipboard

IBM S390X contrib cleanup

Open fneddy opened this issue 10 months ago • 4 comments

The Problem

the zlib accelerators for the IBM S390X (and IBM POWER) platform is in an unclean state. For the sake of easier patch generation for Linux distributions and potential merge into mainline zlib this should be cleaned up.

Analysis

the current open PR #410 is based on the work of the IBM POWER optimization #750. The Power work itself fragmented in the last years into 6 different PRs ( #857 #750 #478 #459 #458 #457 tracked in #847).

The S390X PR has multiple problems:

  • it needs rebaseing on the newest development branch.
  • it uses ifunc that causes problems with memory sanitizers and musl(critical for alpine linux).
  • the CI only runs for configure
  • the cmake build does not include the S390X accelerators
  • the CI only runs with QEMU. QEMU has actually no support for the instructions used in the optimization and zlib will fall back on testing the software implementation.
  • no dedicated crc32 test cases

Tracking

To get the S390X code in the clean state this are the issues and milestones that need to be solved.

[^1]: There are free native IBM S390X workers for open source projects from Marist University [^2]: I need input if and under what circumstances the code could be merged.

I started working on this issues in my fork and will create PR(s) when i think they are ready. I work closely with @iii-i to cleanup and refine the code. Also I talked with a POWER dev and they state their interest in cleaning up their part.

fneddy avatar Feb 25 '25 09:02 fneddy

Great! Let me know when it's ready and I'll merge it.

madler avatar Feb 26 '25 05:02 madler

opened PR #1057 which adds vectorized crc32 for s390x platform

fneddy avatar Mar 19 '25 16:03 fneddy

So, I started working on the S390X deflate/inflate optimization patch and would like to ask for the preferred review mode:

should I try to split it into multiple easy reviewable chunks or should I create one massive PR containing all the changes?

fneddy avatar Mar 24 '25 16:03 fneddy

@fneddy: Nice to see this ticket!

Neustradamus avatar May 23 '25 00:05 Neustradamus