On Mon, 2013-01-21 at 12:00 +0200, Heikki Linnakangas wrote:
> On 21.01.2013 11:10, Jeff Davis wrote:
> > That confuses me. The testing was to show it didn't hurt other workloads
> > (like scans or inserts/updates/deletes); so the best possible result is
> > that they don't show signs either way.
>
> I went back to look at the initial test results that demonstrated that
> keeping the pin on the VM buffer mitigated the overhead of pinning the
> vm page. The obvious next question is, what is the impact when that's
> inefficient, ie. when you update pages across different 512 MB sections,
> so that the vm pin has to be dropped and reacquired repeatedly.
>
> I tried to construct a worst case scenario for that:
I confirmed this result in a single connection (no concurrency). I used
a shared_buffers of 2GB so that the whole table would fit.
Also, I fixed a bug that I noticed along the way, which was an
uninitialized variable. New version attached.
FWIW, I'm considering this patch to be rejected; I just didn't want to
leave a patch with a bug in it.
Regards,
Jeff Davis