Keep heavily-contended fields in XLogCtlInsert on different cache lines.

Heikki Linnakangas <heikki.linnakangas@iki.fi>

Commit: 375d8526f2900d0c377f44532f6d09ee06531f67
Author: Heikki Linnakangas <heikki.linnakangas@iki.fi>
Date: 2013-09-04T20:14:33Z
Releases: 9.4.0
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.

Files

PathChange+/−
src/backend/access/transam/xlog.c modified +12 −3
src/include/pg_config_manual.h modified +11 −0