summaryrefslogtreecommitdiff
path: root/src/include
diff options
context:
space:
mode:
authorJan Wieck2003-11-19 15:55:08 +0000
committerJan Wieck2003-11-19 15:55:08 +0000
commitcfeca62148582a05466362f1957572f5a9900ab5 (patch)
tree6a2c5086a40d410ceb8555d8f94b7f5492979283 /src/include
parent5032f83082e5bdb37f8dbf02fa00c4886fb6d2ce (diff)
Background writer process
This first part of the background writer does no syncing at all. It's only purpose is to keep the LRU heads clean so that regular backends seldom to never have to call write(). Jan
Diffstat (limited to 'src/include')
-rw-r--r--src/include/bootstrap/bootstrap.h5
-rw-r--r--src/include/storage/bufmgr.h12
-rw-r--r--src/include/storage/proc.h9
3 files changed, 20 insertions, 6 deletions
diff --git a/src/include/bootstrap/bootstrap.h b/src/include/bootstrap/bootstrap.h
index e444aeef43c..0367522da3a 100644
--- a/src/include/bootstrap/bootstrap.h
+++ b/src/include/bootstrap/bootstrap.h
@@ -7,7 +7,7 @@
* Portions Copyright (c) 1996-2003, PostgreSQL Global Development Group
* Portions Copyright (c) 1994, Regents of the University of California
*
- * $Id: bootstrap.h,v 1.31 2003/08/04 02:40:10 momjian Exp $
+ * $Id: bootstrap.h,v 1.32 2003/11/19 15:55:08 wieck Exp $
*
*-------------------------------------------------------------------------
*/
@@ -59,6 +59,7 @@ extern void Int_yyerror(const char *str);
#define BS_XLOG_BOOTSTRAP 1
#define BS_XLOG_STARTUP 2
#define BS_XLOG_CHECKPOINT 3
-#define BS_XLOG_SHUTDOWN 4
+#define BS_XLOG_BGWRITER 4
+#define BS_XLOG_SHUTDOWN 5
#endif /* BOOTSTRAP_H */
diff --git a/src/include/storage/bufmgr.h b/src/include/storage/bufmgr.h
index bfbf64e207f..df0708f9092 100644
--- a/src/include/storage/bufmgr.h
+++ b/src/include/storage/bufmgr.h
@@ -7,7 +7,7 @@
* Portions Copyright (c) 1996-2003, PostgreSQL Global Development Group
* Portions Copyright (c) 1994, Regents of the University of California
*
- * $Id: bufmgr.h,v 1.70 2003/08/10 19:48:08 tgl Exp $
+ * $Id: bufmgr.h,v 1.71 2003/11/19 15:55:08 wieck Exp $
*
*-------------------------------------------------------------------------
*/
@@ -28,6 +28,11 @@ extern DLLIMPORT int NBuffers;
/* in bufmgr.c */
extern bool zero_damaged_pages;
+extern int BgWriterDelay;
+extern int BgWriterPercent;
+extern int BgWriterMaxpages;
+
+
/* in buf_init.c */
extern DLLIMPORT Block *BufferBlockPointers;
extern long *PrivateRefCount;
@@ -186,7 +191,10 @@ extern void LockBufferForCleanup(Buffer buffer);
extern void AbortBufferIO(void);
extern void BufmgrCommit(void);
-extern void BufferSync(void);
+extern int BufferSync(int percent, int maxpages);
+extern void BufferBackgroundWriter(void);
+extern const char *BgWriterAssignSyncMethod(const char *method,
+ bool doid, bool interactive);
extern void InitLocalBuffer(void);
diff --git a/src/include/storage/proc.h b/src/include/storage/proc.h
index 3cad0c5b63c..235ed751b41 100644
--- a/src/include/storage/proc.h
+++ b/src/include/storage/proc.h
@@ -7,7 +7,7 @@
* Portions Copyright (c) 1996-2003, PostgreSQL Global Development Group
* Portions Copyright (c) 1994, Regents of the University of California
*
- * $Id: proc.h,v 1.64 2003/08/04 02:40:15 momjian Exp $
+ * $Id: proc.h,v 1.65 2003/11/19 15:55:08 wieck Exp $
*
*-------------------------------------------------------------------------
*/
@@ -86,6 +86,11 @@ typedef struct PROC_HDR
} PROC_HDR;
+#define DUMMY_PROC_DEFAULT 0
+#define DUMMY_PROC_BGWRITER 1
+#define NUM_DUMMY_PROCS 2
+
+
/* configurable options */
extern int DeadlockTimeout;
extern int StatementTimeout;
@@ -97,7 +102,7 @@ extern int StatementTimeout;
extern int ProcGlobalSemas(int maxBackends);
extern void InitProcGlobal(int maxBackends);
extern void InitProcess(void);
-extern void InitDummyProcess(void);
+extern void InitDummyProcess(int proctype);
extern void ProcReleaseLocks(bool isCommit);
extern void ProcQueueInit(PROC_QUEUE *queue);