mirror of
https://github.com/postgres/postgres.git
synced 2026-04-11 20:16:33 -04:00
Remove bogus "safety margin" from predicate.c shmem estimates
The 10% safety margin was copy-pasted from lock.c when the predicate
locking code was originally added. However, we later (commit
7c797e7194) added the HASH_FIXED_SIZE flag to the hash tables, which
means that they cannot actually use the safety margin that we're
calculating for them.
The extra memory was mainly used by the main lock manager, which is
the only shmem hash table of non-trivial size that does not use the
HASH_FIXED_SIZE flag. If we wanted to have more space for the lock
manager, we should reserve it directly in lock.c. After this commit,
the lock manager will just have less memory available than before.
Reviewed-by: Ashutosh Bapat <ashutosh.bapat.oss@gmail.com>
Reviewed-by: Matthias van de Meent <boekewurm+postgres@gmail.com>
Discussion: https://www.postgresql.org/message-id/e07be2ba-856b-4ff5-8313-8b58b6b4e4d0@iki.fi
This commit is contained in:
parent
b7b27eb41a
commit
feb03dfecd
1 changed files with 0 additions and 6 deletions
|
|
@ -1383,12 +1383,6 @@ PredicateLockShmemSize(void)
|
|||
size = add_size(size, hash_estimate_size(max_predicate_locks,
|
||||
sizeof(PREDICATELOCK)));
|
||||
|
||||
/*
|
||||
* Since NPREDICATELOCKTARGETENTS is only an estimate, add 10% safety
|
||||
* margin.
|
||||
*/
|
||||
size = add_size(size, size / 10);
|
||||
|
||||
/* transaction list */
|
||||
max_serializable_xacts = (MaxBackends + max_prepared_xacts) * 10;
|
||||
size = add_size(size, PredXactListDataSize);
|
||||
|
|
|
|||
Loading…
Reference in a new issue