On Apr 9, 2006, at 9:26 AM, Martijn van Oosterhout wrote:

On Sun, Apr 09, 2006 at 08:23:36AM -0700, Myron Scott wrote:
This is the part I'm curious about - is this using the
shared_buffers region
in a circular buffer fashion to store pre-fetched pages?

Yes.  That is basically what the slave thread is trying to do.  As
well as weed out
any tuples/pages that don't need to be looked at due to dead tuples.
I did several things to try and insure that a buffer needed by the
master thread
would not be pulled out of the buffer pool before it was seen by the
master.
I wanted to do this without holding the buffer pinned, so I did the
change to
the buffer free list to do this.

Is this necessary? I mean, what's the chance that a page might get
thrown out early? And if so, what's the chance that page will still be
in the OS cache?

The cost of fetching a page from the OS is not really much of an
overhead, so I'd like to know how much benefit these buffer cache hacks
actually produce.


You may be right on this one.  I wanted ensure that I didn't lose
pages I needed.  I may have just added a belt to my
suspenders.  I'll add a switch to turn it off and on and try and
devise a test to see what the costs either way are.


Myron Scott

---------------------------(end of broadcast)---------------------------
TIP 5: don't forget to increase your free space map settings

Reply via email to