From: | David Christensen <david(dot)christensen(at)crunchydata(dot)com> |
---|---|
To: | PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>, Andres Freund <andres(at)anarazel(dot)de>, Tomas Vondra <tomas(dot)vondra(at)enterprisedb(dot)com>, John Naylor <john(dot)naylor(at)enterprisedb(dot)com>, Robert Haas <robertmhaas(at)gmail(dot)com>, Hannu Krosing <hannuk(at)google(dot)com> |
Cc: | Stephen Frost <sfrost(at)snowman(dot)net> |
Subject: | Re: Initdb-time block size specification |
Date: | 2023-10-02 15:39:28 |
Message-ID: | CAOxo6X+ePG2gW4U=SxLU-Jvf_mScDXni9X_+ZpYzmP7yedntCQ@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
Hi,
Here is version 3 of the patch series, rebased on 6d0c39a293. The main
tweak was to tweak per John N's suggestion and utilize only the 16-bit
unsigned mod/div for the utility routines. The breakdown of the patch
series is the same as the last one, but re-including the descriptions here:
Preparation phase:
0001 - add utility script for retokenizing all necessary scripts.
This is mainly for my own use in generating 0003, which is a simple
rename/preparation patch to change all symbols from their UPPER_CASE
to lower_case form, with several exceptions in renames.
0002 - add script to harness 0001 and apply to the relevant files in the
repo
0003 - capture the effects of 0002 on the repo
The other patches in this series are as follows:
0004 - the "main" variable blocksize patch where the bulk of the code
changes take place - see comments here
0005 - utility functions for fast div/mod operations; basically
montgomery multiplication
0006 - use fastdiv code in the visiblity map, the main place where
this change is required
0007 - (optional) add/use libdivide for division which is license
compatible with other headers we bundle
0008 - (optional) tweaks to libdivide to make compiler/CI happy
Best,
David
Attachment | Content-Type | Size |
---|---|---|
v3-0002-Add-wrapper-for-tokenizing-the-whole-repo.patch | application/octet-stream | 1.2 KB |
v3-0005-Add-support-for-fast-non-division-based-div-mod-a.patch | application/octet-stream | 1.7 KB |
v3-0001-Add-tool-to-retokenize-for-variable-blocksize.patch | application/octet-stream | 1.8 KB |
v3-0004-Introduce-initdb-selectable-block-sizes.patch | application/octet-stream | 171.5 KB |
v3-0003-Capture-rename-of-symbols.patch | application/octet-stream | 264.1 KB |
v3-0006-Use-fastdiv-code-in-visibility-map.patch | application/octet-stream | 7.1 KB |
v3-0007-Use-libdivide-for-fast-division.patch | application/octet-stream | 130.8 KB |
v3-0008-Add-pragmas-to-libdivide-to-make-header-check-hap.patch | application/octet-stream | 730 bytes |
From | Date | Subject | |
---|---|---|---|
Next Message | Robert Haas | 2023-10-02 16:04:31 | Re: Eliminate redundant tuple visibility check in vacuum |
Previous Message | Peter Geoghegan | 2023-10-02 15:36:54 | Re: Eager page freeze criteria clarification |