Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
P
Postgres FD Implementation
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Abuhujair Javed
Postgres FD Implementation
Commits
d3dfc664
Commit
d3dfc664
authored
Apr 18, 1997
by
Vadim B. Mikheev
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
PrintBufferUsage() changed to report about shared, local and direct
blocks transfferes.
parent
55f53543
Changes
3
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
41 additions
and
14 deletions
+41
-14
src/backend/storage/buffer/buf_init.c
src/backend/storage/buffer/buf_init.c
+7
-4
src/backend/storage/buffer/bufmgr.c
src/backend/storage/buffer/bufmgr.c
+28
-9
src/backend/storage/buffer/localbuf.c
src/backend/storage/buffer/localbuf.c
+6
-1
No files found.
src/backend/storage/buffer/buf_init.c
View file @
d3dfc664
...
...
@@ -7,7 +7,7 @@
*
*
* IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/storage/buffer/buf_init.c,v 1.
8 1997/03/28 07:04:52 scrappy
Exp $
* $Header: /cvsroot/pgsql/src/backend/storage/buffer/buf_init.c,v 1.
9 1997/04/18 02:53:15 vadim
Exp $
*
*-------------------------------------------------------------------------
*/
...
...
@@ -120,9 +120,12 @@ long *CommitInfoNeedsSave; /* to write buffers where we have filled in */
SPINLOCK
BufMgrLock
;
int
ReadBufferCount
;
int
BufferHitCount
;
int
BufferFlushCount
;
long
int
ReadBufferCount
;
long
int
ReadLocalBufferCount
;
long
int
BufferHitCount
;
long
int
LocalBufferHitCount
;
long
int
BufferFlushCount
;
long
int
LocalBufferFlushCount
;
/*
...
...
src/backend/storage/buffer/bufmgr.c
View file @
d3dfc664
...
...
@@ -7,7 +7,7 @@
*
*
* IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/storage/buffer/bufmgr.c,v 1.1
1 1997/03/28 07:05:03 scrappy
Exp $
* $Header: /cvsroot/pgsql/src/backend/storage/buffer/bufmgr.c,v 1.1
2 1997/04/18 02:53:23 vadim
Exp $
*
*-------------------------------------------------------------------------
*/
...
...
@@ -75,9 +75,12 @@
#include "catalog/catalog.h"
extern
SPINLOCK
BufMgrLock
;
extern
int
ReadBufferCount
;
extern
int
BufferHitCount
;
extern
int
BufferFlushCount
;
extern
long
int
ReadBufferCount
;
extern
long
int
ReadLocalBufferCount
;
extern
long
int
BufferHitCount
;
extern
long
int
LocalBufferHitCount
;
extern
long
int
BufferFlushCount
;
extern
long
int
LocalBufferFlushCount
;
static
int
WriteMode
=
BUFFER_LATE_WRITE
;
/* Delayed write is default */
...
...
@@ -217,7 +220,9 @@ ReadBufferWithBufferLock(Relation reln,
isLocalBuf
=
reln
->
rd_islocal
;
if
(
isLocalBuf
)
{
ReadLocalBufferCount
++
;
bufHdr
=
LocalBufferAlloc
(
reln
,
blockNum
,
&
found
);
if
(
found
)
LocalBufferHitCount
++
;
}
else
{
ReadBufferCount
++
;
...
...
@@ -473,7 +478,6 @@ BufferAlloc(Relation reln,
}
else
{
BufferFlushCount
++
;
/*
* BM_JUST_DIRTIED cleared by BufferReplace and shouldn't
* be setted by anyone. - vadim 01/17/97
...
...
@@ -760,6 +764,7 @@ FlushBuffer(Buffer buffer, bool release)
bufHdr
->
tag
.
blockNum
,
bufHdr
->
sb_relname
);
return
(
STATUS_ERROR
);
}
BufferFlushCount
++
;
SpinAcquire
(
BufMgrLock
);
/*
...
...
@@ -955,6 +960,7 @@ BufferSync()
elog
(
WARN
,
"BufferSync: cannot write %u for %s"
,
bufHdr
->
tag
.
blockNum
,
bufHdr
->
sb_relname
);
}
BufferFlushCount
++
;
/*
* If this buffer was marked by someone as DIRTY while
* we were flushing it out we must not clear DIRTY flag
...
...
@@ -1052,16 +1058,24 @@ void
PrintBufferUsage
(
FILE
*
statfp
)
{
float
hitrate
;
float
localhitrate
;
if
(
ReadBufferCount
==
0
)
hitrate
=
0
.
0
;
else
hitrate
=
(
float
)
BufferHitCount
*
100
.
0
/
ReadBufferCount
;
fprintf
(
statfp
,
"!
\t
%ld blocks read, %ld blocks written, buffer hit rate = %.2f%%
\n
"
,
ReadBufferCount
-
BufferHitCount
+
NDirectFileRead
,
BufferFlushCount
+
NDirectFileWrite
,
hitrate
);
if
(
ReadLocalBufferCount
==
0
)
localhitrate
=
0
.
0
;
else
localhitrate
=
(
float
)
LocalBufferHitCount
*
100
.
0
/
ReadLocalBufferCount
;
fprintf
(
statfp
,
"!
\t
Shared blocks: %10ld read, %10ld written, buffer hit rate = %.2f%%
\n
"
,
ReadBufferCount
-
BufferHitCount
,
BufferFlushCount
,
hitrate
);
fprintf
(
statfp
,
"!
\t
Local blocks: %10ld read, %10ld written, buffer hit rate = %.2f%%
\n
"
,
ReadLocalBufferCount
-
LocalBufferHitCount
,
LocalBufferFlushCount
,
localhitrate
);
fprintf
(
statfp
,
"!
\t
Direct blocks: %10ld read, %10ld written
\n
"
,
NDirectFileRead
,
NDirectFileWrite
);
}
void
...
...
@@ -1070,6 +1084,9 @@ ResetBufferUsage()
BufferHitCount
=
0
;
ReadBufferCount
=
0
;
BufferFlushCount
=
0
;
LocalBufferHitCount
=
0
;
ReadLocalBufferCount
=
0
;
LocalBufferFlushCount
=
0
;
NDirectFileRead
=
0
;
NDirectFileWrite
=
0
;
}
...
...
@@ -1264,6 +1281,8 @@ BufferReplace(BufferDesc *bufHdr, bool bufferLockHeld)
if
(
status
==
SM_FAIL
)
return
(
FALSE
);
BufferFlushCount
++
;
return
(
TRUE
);
}
...
...
src/backend/storage/buffer/localbuf.c
View file @
d3dfc664
...
...
@@ -15,7 +15,7 @@
*
*
* IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/storage/buffer/localbuf.c,v 1.
5 1997/01/16 08:13:14
vadim Exp $
* $Header: /cvsroot/pgsql/src/backend/storage/buffer/localbuf.c,v 1.
6 1997/04/18 02:53:37
vadim Exp $
*
*-------------------------------------------------------------------------
*/
...
...
@@ -47,6 +47,8 @@
#include "executor/execdebug.h"
/* for NDirectFileRead */
#include "catalog/catalog.h"
extern
long
int
LocalBufferFlushCount
;
int
NLocBuffer
=
64
;
BufferDesc
*
LocalBufferDescriptors
=
NULL
;
long
*
LocalRefCount
=
NULL
;
...
...
@@ -118,6 +120,7 @@ LocalBufferAlloc(Relation reln, BlockNumber blockNum, bool *foundPtr)
/* flush this page */
smgrwrite
(
bufrel
->
rd_rel
->
relsmgr
,
bufrel
,
bufHdr
->
tag
.
blockNum
,
(
char
*
)
MAKE_PTR
(
bufHdr
->
data
));
LocalBufferFlushCount
++
;
}
/*
...
...
@@ -192,6 +195,7 @@ FlushLocalBuffer(Buffer buffer, bool release)
Assert
(
bufrel
!=
NULL
);
smgrflush
(
bufrel
->
rd_rel
->
relsmgr
,
bufrel
,
bufHdr
->
tag
.
blockNum
,
(
char
*
)
MAKE_PTR
(
bufHdr
->
data
));
LocalBufferFlushCount
++
;
Assert
(
LocalRefCount
[
bufid
]
>
0
);
if
(
release
)
...
...
@@ -261,6 +265,7 @@ LocalBufferSync(void)
smgrwrite
(
bufrel
->
rd_rel
->
relsmgr
,
bufrel
,
buf
->
tag
.
blockNum
,
(
char
*
)
MAKE_PTR
(
buf
->
data
));
LocalBufferFlushCount
++
;
buf
->
tag
.
relId
.
relId
=
InvalidOid
;
buf
->
flags
&=
~
BM_DIRTY
;
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment