Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: postgresql-cfbot/postgresql
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: cf/5779~1
Choose a base ref
...
head repository: postgresql-cfbot/postgresql
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: cf/5779
Choose a head ref
  • 2 commits
  • 10 files changed
  • 3 contributors

Commits on May 31, 2025

  1. Added crc32c extension for ibm s390x based on VX intrinsics

    The original crc32c-vx code is provided by Hendrik Brueckner
    <rueckner@linux.ibm.com>. He kindly gave permission to relicense it under
    postgresql-license. I adapted it for the use in postgres.
    
    The IBM S390X platform has no dedicated CRC infrastructure. The algorithm
    works by using `reduction constants to fold and process particular chunks
    of the input data stream in parallel.` This makes grate use of the S390X
    vector units. Depending on the size of the input stream a speedup in the
    order of magnitude can be achieved(compared to sb8).
    
    The runtime detection strategy follows the same approach as the ARM code.
    If the code is compiled with all needed flags enabled the runtime
    detection will not be compiled in. If the build system can enable all
    needed flags itself it will also enable runtime detection.
    
    The standard sb8 code is still always compiled and will be used for this
    cases:
    - the vector units need to operate on double word boundaries. If the input
      stream is not aligned we use sb8 up to the next boundary
    - using the vector units for data smaller then 64 byte will neglect the
      speed improvement of the algorithm, as register setup and post
      processing will eat up all benefits.
    - the reduction and folding constants are precalculated for 64 byte
      chunks. Adding code for smaller chunks would drastically increase the
      complexity.
    
    Co-authored-by: Hendrik Brueckner <rueckner@linux.ibm.com>
    2 people authored and Commitfest Bot committed May 31, 2025
    Configuration menu
    Copy the full SHA
    4c9a336 View commit details
    Browse the repository at this point in the history
  2. [CF 5779] v1 - Review/Pull Request: Adding new CRC32C implementation …

    …for IBM S390X
    
    This branch was automatically generated by a robot using patches from an
    email thread registered at:
    
    https://commitfest.postgresql.org/patch/5779
    
    The branch will be overwritten each time a new patch version is posted to
    the thread, and also periodically to check for bitrot caused by changes
    on the master branch.
    
    Patch(es): https://www.postgresql.org/message-id/918d9941377f6e83fbfebe96ba496ccaefa3803f.camel@ibm.com
    Author(s): Eduard Stefes
    Commitfest Bot committed May 31, 2025
    Configuration menu
    Copy the full SHA
    5ad6eb5 View commit details
    Browse the repository at this point in the history
Loading