Re: Removing PD_ALL_VISIBLE
Jeff Davis <pgsql@j-davis.com>
From: Jeff Davis <pgsql@j-davis.com>
To: Heikki Linnakangas <hlinnakangas@vmware.com>
Cc: Pavan Deolasee <pavan.deolasee@gmail.com>, Tom Lane <tgl@sss.pgh.pa.us>, Robert Haas <robertmhaas@gmail.com>, Simon Riggs <simon@2ndquadrant.com>, pgsql-hackers@postgresql.org
Date: 2013-01-22T19:23:35Z
Lists: pgsql-hackers
Attachments
- rm-pd-all-visible-20130122.patch.gz (application/x-gzip) patch
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