aboutsummaryrefslogtreecommitdiff
path: root/src/backend/storage/buffer/buf_init.c
diff options
context:
space:
mode:
authorJan Wieck <JanWieck@Yahoo.com>2004-01-15 16:14:26 +0000
committerJan Wieck <JanWieck@Yahoo.com>2004-01-15 16:14:26 +0000
commitdfdd59e91807ddf8dd32885be42a7f3af5a71c64 (patch)
tree0a00e2790e1f5f91487a1f523e03d0c6a741dc88 /src/backend/storage/buffer/buf_init.c
parentcfd7fb7ed4b66da97f88338d991843fa7e2fe59d (diff)
downloadpostgresql-dfdd59e91807ddf8dd32885be42a7f3af5a71c64.tar.gz
postgresql-dfdd59e91807ddf8dd32885be42a7f3af5a71c64.zip
Adjusted calculation of shared memory requirements to new
ARC buffer replacement strategy. Jan
Diffstat (limited to 'src/backend/storage/buffer/buf_init.c')
-rw-r--r--src/backend/storage/buffer/buf_init.c12
1 files changed, 9 insertions, 3 deletions
diff --git a/src/backend/storage/buffer/buf_init.c b/src/backend/storage/buffer/buf_init.c
index 1a707568b55..2f3c818c191 100644
--- a/src/backend/storage/buffer/buf_init.c
+++ b/src/backend/storage/buffer/buf_init.c
@@ -8,7 +8,7 @@
*
*
* IDENTIFICATION
- * $PostgreSQL: pgsql/src/backend/storage/buffer/buf_init.c,v 1.60 2003/12/20 17:31:21 momjian Exp $
+ * $PostgreSQL: pgsql/src/backend/storage/buffer/buf_init.c,v 1.61 2004/01/15 16:14:26 wieck Exp $
*
*-------------------------------------------------------------------------
*/
@@ -231,13 +231,19 @@ BufferShmemSize(void)
size += hash_estimate_size(SHMEM_INDEX_SIZE, sizeof(ShmemIndexEnt));
/* size of buffer descriptors */
- size += MAXALIGN((NBuffers + 1) * sizeof(BufferDesc));
+ size += MAXALIGN(NBuffers * sizeof(BufferDesc));
+
+ /* size of the shared replacement strategy control block */
+ size += MAXALIGN(sizeof(BufferStrategyControl));
+
+ /* size of the ARC directory blocks */
+ size += MAXALIGN(NBuffers * 2 * sizeof(BufferStrategyCDB));
/* size of data pages */
size += NBuffers * MAXALIGN(BLCKSZ);
/* size of buffer hash table */
- size += hash_estimate_size(NBuffers, sizeof(BufferLookupEnt));
+ size += hash_estimate_size(NBuffers * 2, sizeof(BufferLookupEnt));
return size;
}