diff options
author | Tom Lane <tgl@sss.pgh.pa.us> | 2005-03-04 20:21:07 +0000 |
---|---|---|
committer | Tom Lane <tgl@sss.pgh.pa.us> | 2005-03-04 20:21:07 +0000 |
commit | 5d5087363d7cdbd00fc432a1216e83a00f7139bd (patch) | |
tree | 56492be3beb9be188f37bfa68c9bfc0e35b0961c /src/backend/commands/dbcommands.c | |
parent | 5592a6cf46d60187b6f4895d2144e67d4f54fa25 (diff) | |
download | postgresql-5d5087363d7cdbd00fc432a1216e83a00f7139bd.tar.gz postgresql-5d5087363d7cdbd00fc432a1216e83a00f7139bd.zip |
Replace the BufMgrLock with separate locks on the lookup hashtable and
the freelist, plus per-buffer spinlocks that protect access to individual
shared buffer headers. This requires abandoning a global freelist (since
the freelist is a global contention point), which shoots down ARC and 2Q
as well as plain LRU management. Adopt a clock sweep algorithm instead.
Preliminary results show substantial improvement in multi-backend situations.
Diffstat (limited to 'src/backend/commands/dbcommands.c')
-rw-r--r-- | src/backend/commands/dbcommands.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/src/backend/commands/dbcommands.c b/src/backend/commands/dbcommands.c index 474701fa573..d1acaea70dc 100644 --- a/src/backend/commands/dbcommands.c +++ b/src/backend/commands/dbcommands.c @@ -15,7 +15,7 @@ * * * IDENTIFICATION - * $PostgreSQL: pgsql/src/backend/commands/dbcommands.c,v 1.151 2005/02/26 18:43:33 tgl Exp $ + * $PostgreSQL: pgsql/src/backend/commands/dbcommands.c,v 1.152 2005/03/04 20:21:05 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -339,7 +339,7 @@ createdb(const CreatedbStmt *stmt) * up-to-date for the copy. (We really only need to flush buffers for * the source database, but bufmgr.c provides no API for that.) */ - BufferSync(-1, -1); + BufferSync(); /* * Close virtual file descriptors so the kernel has more available for @@ -1201,7 +1201,7 @@ dbase_redo(XLogRecPtr lsn, XLogRecord *record) * up-to-date for the copy. (We really only need to flush buffers for * the source database, but bufmgr.c provides no API for that.) */ - BufferSync(-1, -1); + BufferSync(); #ifndef WIN32 |