On Mon, 2007-03-12 at 08:42 -0700, Luke Lonergan wrote:
> On 3/12/07 6:21 AM, "Simon Riggs" <simon@2ndquadrant.com> wrote:
>
> > So based on those thoughts, sync_scan_offset should be fixed at 16,
> > rather than being variable. In addition, ss_report_loc() should only
> > report its position every 16 blocks, rather than do this every time,
> > which will reduce overhead of this call.
>
> And for N concurrent scans?
>
> I think there is actually no need to synchronize the shared buffers at all
> for synchronized scans. The OS I/O cache will do that for us and we're just
> going to interfere and pessimize by trying to divide up a local buffer.
I think you've misunderstood my comment slightly.
In Jeff's patch, ss_report_loc() is called after every block is read,
AFAICS. I was suggesting that we don't do it that frequently, to reduce
the overhead of reporting the location.
That has nothing to do with re-synchronising the two scans mid-way.
-- Simon Riggs EnterpriseDB http://www.enterprisedb.com