Re: Do we need so many hint bits?
Jeff Davis <pgsql@j-davis.com>
From: Jeff Davis <pgsql@j-davis.com>
To: Andres Freund <andres@2ndquadrant.com>
Cc: Tom Lane <tgl@sss.pgh.pa.us>, pgsql-hackers@postgresql.org, Merlin Moncure <mmoncure@gmail.com>
Date: 2012-11-18T17:13:19Z
Lists: pgsql-hackers
On Sun, 2012-11-18 at 15:19 +0100, Andres Freund wrote: > On Sunday, November 18, 2012 03:07:01 AM Jeff Davis wrote: > > Process A (process that clears a VM bit for a data page): > > 1. Acquires exclusive lock on data buffer > > 2. Acquires exclusive lock on VM buffer > > 3. clears VM bit > > 4. Releases VM buffer lock > > 5. Releases data buffer lock > > Well, but right this is a rather big difference. If vm pages get > unconditionally locked all the time we will have a huge source of new > contention as they are shared between so many heap pages. No, that is only for the process *clearing* the bit, and this already happens. I am not planning on introducing any new locks, aside from the buffer header lock when acquiring a pin. And I plan to keep those pins for long enough that those don't matter, either. Regards, Jeff Davis