Thread: pgsql: Divide the lock manager's shared state into 'partitions', so as
pgsql: Divide the lock manager's shared state into 'partitions', so as
From
tgl@postgresql.org (Tom Lane)
Date:
Log Message: ----------- Divide the lock manager's shared state into 'partitions', so as to reduce contention for the former single LockMgrLock. Per my recent proposal. I set it up for 16 partitions, but on a pgbench test this gives only a marginal further improvement over 4 partitions --- we need to test more scenarios to choose the number of partitions. Modified Files: -------------- pgsql/src/backend/access/transam: twophase.c (r1.17 -> r1.18) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/access/transam/twophase.c.diff?r1=1.17&r2=1.18) pgsql/src/backend/storage/ipc: procarray.c (r1.8 -> r1.9) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/storage/ipc/procarray.c.diff?r1=1.8&r2=1.9) pgsql/src/backend/storage/lmgr: README (r1.18 -> r1.19) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/storage/lmgr/README.diff?r1=1.18&r2=1.19) deadlock.c (r1.37 -> r1.38) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/storage/lmgr/deadlock.c.diff?r1=1.37&r2=1.38) lock.c (r1.161 -> r1.162) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/storage/lmgr/lock.c.diff?r1=1.161&r2=1.162) lwlock.c (r1.35 -> r1.36) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/storage/lmgr/lwlock.c.diff?r1=1.35&r2=1.36) proc.c (r1.169 -> r1.170) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/storage/lmgr/proc.c.diff?r1=1.169&r2=1.170) pgsql/src/include/storage: lock.h (r1.92 -> r1.93) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/storage/lock.h.diff?r1=1.92&r2=1.93) lwlock.h (r1.23 -> r1.24) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/storage/lwlock.h.diff?r1=1.23&r2=1.24) proc.h (r1.84 -> r1.85) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/storage/proc.h.diff?r1=1.84&r2=1.85)