]> granicus.if.org Git - postgresql/commit
Keep heavily-contended fields in XLogCtlInsert on different cache lines.
authorHeikki Linnakangas <heikki.linnakangas@iki.fi>
Wed, 4 Sep 2013 20:14:33 +0000 (23:14 +0300)
committerHeikki Linnakangas <heikki.linnakangas@iki.fi>
Wed, 4 Sep 2013 20:14:33 +0000 (23:14 +0300)
commit375d8526f2900d0c377f44532f6d09ee06531f67
tree866db5b0ff2a176ff815e80ca2a72c780079bee8
parentcc52d5b33ff5df29de57dcae9322214cfe9c8464
Keep heavily-contended fields in XLogCtlInsert on different cache lines.

Performance testing shows that if the insertpos_lck spinlock and the fields
that it protects are on the same cache line with other variables that are
frequently accessed, the false sharing can hurt performance a lot. Keep
them apart by adding some padding.
src/backend/access/transam/xlog.c
src/include/pg_config_manual.h