On Fri, May 16, 2014 at 10:51 AM, Amit Kapila <amit.kapil...@gmail.com>wrote:

>
>
> Thrds (64) Thrds (128)  HEAD 45562 17128  HEAD + 64 57904 32810  V1 + 64
> 105557 81011  HEAD + 128 58383 32997  V1 + 128 110705 114544
>

I haven't actually reviewed the code, but this sort of thing seems like
good evidence that we need your patch, or something like it.  The fact that
the patch produces little performance improvement on it's own (though it
does produce some) shouldn't be held against it - the fact that the
contention shifts elsewhere when the first bottleneck is removed is not
your patch's fault.

In terms of ameliorating contention on the buffer mapping locks, I think it
would be better to replace the whole buffer mapping table with something
different.  I started working on that almost 2 years ago, building a
hash-table that can be read without requiring any locks and written with,
well, less locking than what we have right now:

http://git.postgresql.org/gitweb/?p=users/rhaas/postgres.git;a=shortlog;h=refs/heads/chash

I never got quite as far as trying to hook that up to the buffer mapping
machinery, but maybe that would be worth doing.

-- 
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company

Reply via email to