Re: Bug: Buffer cache is not scan resistant - Mailing list pgsql-hackers

From Jim Nasby
Subject Re: Bug: Buffer cache is not scan resistant
Date
Msg-id 39501601-F6B1-4EA4-8B4B-FA1FB73A657F@decibel.org
Whole thread Raw
In response to Re: Bug: Buffer cache is not scan resistant  (Heikki Linnakangas <heikki@enterprisedb.com>)
Responses Re: Bug: Buffer cache is not scan resistant  (Jeff Davis <pgsql@j-davis.com>)
List pgsql-hackers
On Mar 5, 2007, at 2:03 PM, Heikki Linnakangas wrote:
> Another approach I proposed back in December is to not have a  
> variable like that at all, but scan the buffer cache for pages  
> belonging to the table you're scanning to initialize the scan.  
> Scanning all the BufferDescs is a fairly CPU and lock heavy  
> operation, but it might be ok given that we're talking about large  
> I/O bound sequential scans. It would require no DBA tuning and  
> would work more robustly in varying conditions. I'm not sure where  
> you would continue after scanning the in-cache pages. At the  
> highest in-cache block number, perhaps.

If there was some way to do that, it'd be what I'd vote for.

Given the partitioning of the buffer lock that Tom did it might not  
be that horrible for many cases, either, since you'd only need to  
scan through one partition.

We also don't need an exact count, either. Perhaps there's some way  
we could keep a counter or something...
--
Jim Nasby                                            jim@nasby.net
EnterpriseDB      http://enterprisedb.com      512.569.9461 (cell)




pgsql-hackers by date:

Previous
From: Jim Nasby
Date:
Subject: Re: Bug: Buffer cache is not scan resistant
Next
From: Tom Lane
Date:
Subject: Re: Possible Bug: high CPU usage for stats collector in 8.2