mirror of
https://github.com/postgres/postgres.git
synced 2025-11-10 17:42:29 +03:00
Rearrange handling of MAXBACKENDS a little bit. The default setting
of MAXBACKENDS is now 1024, since all it's costing is about 32 bytes of memory per array slot. configure's --with-maxbackends switch now controls DEF_MAXBACKENDS which is simply the default value of the postmaster's -N switch. Thus, the out-of-the-box configuration will still limit you to 64 backends, but you can go up to 1024 backends simply by restarting the postmaster with a different -N switch --- no rebuild required.
This commit is contained in:
@@ -7,7 +7,7 @@
|
||||
*
|
||||
*
|
||||
* IDENTIFICATION
|
||||
* $Header: /cvsroot/pgsql/src/backend/storage/ipc/ipc.c,v 1.35 1999/02/13 23:18:09 momjian Exp $
|
||||
* $Header: /cvsroot/pgsql/src/backend/storage/ipc/ipc.c,v 1.36 1999/02/21 01:41:44 tgl Exp $
|
||||
*
|
||||
* NOTES
|
||||
*
|
||||
@@ -677,9 +677,10 @@ struct ipcdummy
|
||||
SLock *free;
|
||||
int unused;
|
||||
slock_t memlock;
|
||||
SLock slocks[NSLOCKS];
|
||||
SLock slocks[MAX_SPINS + 1];
|
||||
};
|
||||
static int SLockMemorySize = sizeof(struct ipcdummy);
|
||||
|
||||
#define SLOCKMEMORYSIZE sizeof(struct ipcdummy)
|
||||
|
||||
void
|
||||
CreateAndInitSLockMemory(IPCKey key)
|
||||
@@ -688,7 +689,7 @@ CreateAndInitSLockMemory(IPCKey key)
|
||||
SLock *slckP;
|
||||
|
||||
SLockMemoryId = IpcMemoryCreate(key,
|
||||
SLockMemorySize,
|
||||
SLOCKMEMORYSIZE,
|
||||
0700);
|
||||
AttachSLockMemory(key);
|
||||
*FreeSLockPP = NULL;
|
||||
@@ -713,7 +714,7 @@ AttachSLockMemory(IPCKey key)
|
||||
struct ipcdummy *slockM;
|
||||
|
||||
if (SLockMemoryId == -1)
|
||||
SLockMemoryId = IpcMemoryIdGet(key, SLockMemorySize);
|
||||
SLockMemoryId = IpcMemoryIdGet(key, SLOCKMEMORYSIZE);
|
||||
if (SLockMemoryId == -1)
|
||||
elog(FATAL, "SLockMemory not in shared memory");
|
||||
slockM = (struct ipcdummy *) IpcMemoryAttach(SLockMemoryId);
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
*
|
||||
*
|
||||
* IDENTIFICATION
|
||||
* $Header: /cvsroot/pgsql/src/backend/storage/ipc/ipci.c,v 1.20 1999/02/19 07:10:47 tgl Exp $
|
||||
* $Header: /cvsroot/pgsql/src/backend/storage/ipc/ipci.c,v 1.21 1999/02/21 01:41:44 tgl Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@@ -72,7 +72,7 @@ CreateSharedMemoryAndSemaphores(IPCKey key, int maxBackends)
|
||||
* ----------------
|
||||
*/
|
||||
CreateSpinlocks(IPCKeyGetSpinLockSemaphoreKey(key));
|
||||
size = BufferShmemSize() + LockShmemSize();
|
||||
size = BufferShmemSize() + LockShmemSize(maxBackends);
|
||||
|
||||
#ifdef STABLE_MEMORY_STORAGE
|
||||
size += MMShmemSize();
|
||||
@@ -113,15 +113,13 @@ CreateSharedMemoryAndSemaphores(IPCKey key, int maxBackends)
|
||||
void
|
||||
AttachSharedMemoryAndSemaphores(IPCKey key)
|
||||
{
|
||||
int size;
|
||||
|
||||
/* ----------------
|
||||
* create rather than attach if using private key
|
||||
* ----------------
|
||||
*/
|
||||
if (key == PrivateIPCKey)
|
||||
{
|
||||
CreateSharedMemoryAndSemaphores(key, 1);
|
||||
CreateSharedMemoryAndSemaphores(key, 16);
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -136,8 +134,7 @@ AttachSharedMemoryAndSemaphores(IPCKey key)
|
||||
* attach the buffer manager buffer pool (and semaphore)
|
||||
* ----------------
|
||||
*/
|
||||
size = BufferShmemSize() + LockShmemSize();
|
||||
InitShmem(key, size);
|
||||
InitShmem(key, 0);
|
||||
InitBufferPool(key);
|
||||
|
||||
/* ----------------
|
||||
|
||||
Reference in New Issue
Block a user