Synchronized Scan WIP patch

From: Jeff Davis <pgsql(at)j-davis(dot)com>
To: simon(at)2ndquadrant(dot)com
Cc: pgsql-patches(at)postgresql(dot)org
Subject: Synchronized Scan WIP patch
Date: 2007-03-14 08:42:58
Message-ID: 1173861778.23443.42.camel@jdavis
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-patches

This is my latest revision of the Sync Scan patch, and it implements the
observability as discussed with Simon.

Changes:
* ss_report_loc() called once per hundred pages rather than once per
page
* DEBUG messages are a little cleaner and easier to parse, for the sake
of analysis after the fact.
* DEBUG2 reports a sync scan starting, the relation size in pages, and
the location at which the scan starts.
* DEBUG2 reports the location of a scan every 50k pages, DEBUG3 every
5k pages (before it was 100k/10k at DEBUG3/DEBUG4, respectively).
Numbers are aligned along 5k boundaries to make analysis easier.
* GUCs:
* sync_seqscan_threshold: fraction of NBuffers for the threshold
* sync_seqscan_offset: fraction of NBuffers for the offset
* trace_sync_seqscan: will be used in final version of patch to
control DEBUG output

Sync_scan_offset may be eliminated completely if it's not shown to be
useful enough in conjunction with Simon's patch. Sync Scans are still a
big win without sync_seqscan_offset.

Sync_scan_threshold=<real> may be turned into sync_seqscan=<boolean>
with a fixed activation threshold (NBuffers/2 per Simon's suggestion).
The reason is that synchronized scans should activate at the same
threshold as Simon's scan_recycle_buffers feature. Should we make a
"#define BIG_SCAN_THRESHOLD NBuffers/2" to use for both sync_seqscan and
for scan_recycle_buffers?

Regards,
Jeff Davis

Attachment Content-Type Size
pgsql-syncscan13.diff text/x-patch 15.8 KB

Responses

Browse pgsql-patches by date

  From Date Subject
Next Message Heikki Linnakangas 2007-03-14 10:22:00 Re: [PATCHES] Bitmapscan changes
Previous Message Pavan Deolasee 2007-03-13 18:05:02 HOT WIP Patch - Version 4.4