Re: pgsql: Change CRCs in WAL records from 64bit to 32bit - Mailing list pgsql-committers

From Bruce Momjian
Subject Re: pgsql: Change CRCs in WAL records from 64bit to 32bit
Date
Msg-id 200506031711.j53HBxk18965@candle.pha.pa.us
Whole thread Raw
In response to pgsql: Change CRCs in WAL records from 64bit to 32bit for performance  (tgl@svr1.postgresql.org (Tom Lane))
Responses Re: pgsql: Change CRCs in WAL records from 64bit to 32bit  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-committers
I have trimmed TODO.detail to remove the completed items.

---------------------------------------------------------------------------

Tom Lane wrote:
> Log Message:
> -----------
> Change CRCs in WAL records from 64bit to 32bit for performance reasons.
> Instead of a separate CRC on each backup block, include backup blocks
> in their parent WAL record's CRC; this is important to ensure that the
> backup block really goes with the WAL record, ie there was not a page
> tear right at the start of the backup block.  Implement a simple form
> of compression of backup blocks: drop any run of zeroes starting at
> pd_lower, so as not to store the unused 'hole' that commonly exists in
> PG heap and index pages.  Tweak PageRepairFragmentation and related
> routines to ensure they keep the unused space zeroed, so that the above
> compression method remains effective.  All per recent discussions.
>
> Modified Files:
> --------------
>     pgsql/src/backend/access/nbtree:
>         nbtpage.c (r1.84 -> r1.85)
>         (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/access/nbtree/nbtpage.c.diff?r1=1.84&r2=1.85)
>         nbtxlog.c (r1.20 -> r1.21)
>         (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/access/nbtree/nbtxlog.c.diff?r1=1.20&r2=1.21)
>     pgsql/src/backend/access/transam:
>         xlog.c (r1.194 -> r1.195)
>         (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/access/transam/xlog.c.diff?r1=1.194&r2=1.195)
>     pgsql/src/backend/storage/page:
>         bufpage.c (r1.63 -> r1.64)
>         (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/storage/page/bufpage.c.diff?r1=1.63&r2=1.64)
>     pgsql/src/backend/utils/hash:
>         pg_crc.c (r1.12 -> r1.13)
>         (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/utils/hash/pg_crc.c.diff?r1=1.12&r2=1.13)
>     pgsql/src/bin/pg_controldata:
>         pg_controldata.c (r1.23 -> r1.24)
>
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/bin/pg_controldata/pg_controldata.c.diff?r1=1.23&r2=1.24)
>     pgsql/src/bin/pg_resetxlog:
>         pg_resetxlog.c (r1.32 -> r1.33)
>         (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/bin/pg_resetxlog/pg_resetxlog.c.diff?r1=1.32&r2=1.33)
>     pgsql/src/include/access:
>         xlog.h (r1.61 -> r1.62)
>         (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/access/xlog.h.diff?r1=1.61&r2=1.62)
>         xlog_internal.h (r1.6 -> r1.7)
>         (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/access/xlog_internal.h.diff?r1=1.6&r2=1.7)
>     pgsql/src/include/catalog:
>         pg_control.h (r1.21 -> r1.22)
>         (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/catalog/pg_control.h.diff?r1=1.21&r2=1.22)
>     pgsql/src/include/utils:
>         pg_crc.h (r1.12 -> r1.13)
>         (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/utils/pg_crc.h.diff?r1=1.12&r2=1.13)
>
> ---------------------------(end of broadcast)---------------------------
> TIP 6: Have you searched our list archives?
>
>                http://archives.postgresql.org
>

--
  Bruce Momjian                        |  http://candle.pha.pa.us
  pgman@candle.pha.pa.us               |  (610) 359-1001
  +  If your life is a hard drive,     |  13 Roberts Road
  +  Christ can be your backup.        |  Newtown Square, Pennsylvania 19073

pgsql-committers by date:

Previous
From: momjian@svr1.postgresql.org (Bruce Momjian)
Date:
Subject: pgsql: Done: > * -Compress WAL entries [wal]
Next
From: momjian@svr1.postgresql.org (Bruce Momjian)
Date:
Subject: pgsql: Trim TODO.detail for wal completed items.