diff --git a/src/backend/storage/buffer/freelist.c b/src/backend/storage/buffer/freelist.c index d64c2c67eb6..05b7995a9c8 100644 --- a/src/backend/storage/buffer/freelist.c +++ b/src/backend/storage/buffer/freelist.c @@ -103,24 +103,24 @@ typedef struct * * XXX firstBuffer + (nextVictimBuffer % numBuffers) */ - pg_atomic_uint32 nextVictimBuffer; + pg_atomic_uint32 nextVictimBuffer pg_attribute_aligned(PG_CACHE_LINE_SIZE); /* * Statistics. These counters should be wide enough that they can't * overflow during a single bgwriter cycle. */ uint32 completePasses; /* Complete cycles of the clock-sweep */ - pg_atomic_uint32 numBufferAllocs; /* Buffers allocated since last reset */ + pg_atomic_uint32 numBufferAllocs pg_attribute_aligned(PG_CACHE_LINE_SIZE); /* Buffers allocated since last reset */ /* * Buffers that should have been allocated in this partition (but might * have been redirected to keep allocations balanced). */ - pg_atomic_uint32 numRequestedAllocs; + pg_atomic_uint32 numRequestedAllocs pg_attribute_aligned(PG_CACHE_LINE_SIZE); /* running total of allocs */ - pg_atomic_uint64 numTotalAllocs; - pg_atomic_uint64 numTotalRequestedAllocs; + pg_atomic_uint64 numTotalAllocs pg_attribute_aligned(PG_CACHE_LINE_SIZE); + pg_atomic_uint64 numTotalRequestedAllocs pg_attribute_aligned(PG_CACHE_LINE_SIZE); /* * Weights to balance buffer allocations for all the partitions. Each