From: | Jeff Davis <pgsql(at)j-davis(dot)com> |
---|---|
To: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
Cc: | Simon Riggs <simon(at)2ndquadrant(dot)com>, pgsql-hackers(at)postgresql(dot)org |
Subject: | Re: Synchronized Scan update |
Date: | 2007-03-13 17:08:27 |
Message-ID: | 1173805707.23455.97.camel@dogma.v10.wvs |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On Tue, 2007-03-13 at 12:53 -0400, Tom Lane wrote:
> Jeff Davis <pgsql(at)j-davis(dot)com> writes:
> > I agree that ss_report_loc() doesn't need to report on every call. If
> > there's any significant overhead I agree that it should report less
> > often. Do you think that the overhead is significant on such a simple
> > function?
>
> One extra LWLock cycle per page processed definitely *is* a significant
> overhead ... can you say "context swap storm"? I'd think about doing it
> once every 100 or so pages.
>
No lock is needed to store the hint. If somehow the hint (which is
stored in a static table, no pointers) gets invalid data due to a race
condition, the new scan will simply consider the hint invalid and start
at 0.
I did this precisely to avoid causing a performance regression for usage
patterns that don't benefit from sync scans.
Regards,
Jeff Davis
From | Date | Subject | |
---|---|---|---|
Next Message | Josh Berkus | 2007-03-13 17:11:31 | Re: Daylight Saving Time question PostgreSQL 8.1.4 |
Previous Message | Tom Lane | 2007-03-13 16:53:32 | Re: Synchronized Scan update |