]> granicus.if.org Git - postgresql/commit
Avoid extra locks in GetSnapshotData if old_snapshot_threshold < 0
authorKevin Grittner <kgrittn@postgresql.org>
Tue, 12 Apr 2016 16:48:02 +0000 (11:48 -0500)
committerKevin Grittner <kgrittn@postgresql.org>
Tue, 12 Apr 2016 16:48:02 +0000 (11:48 -0500)
commit2201d801b03c2d1b0bce4d6580b718dc34d38b3e
treea656c7e2e8349ebae3ed3bd8edf101de7a245a9f
parent5713f03973e26ad6df6df5ac8b9efa0123d68062
Avoid extra locks in GetSnapshotData if old_snapshot_threshold < 0

On a big NUMA machine with 1000 connections in saturation load
there was a performance regression due to spinlock contention, for
acquiring values which were never used.  Just fill with dummy
values if we're not going to use them.

This patch has not been benchmarked yet on a big NUMA machine, but
it seems like a good idea on general principle, and it seemed to
prevent an apparent 2.2% regression on a single-socket i7 box
running 200 connections at saturation load.
src/backend/storage/ipc/procarray.c