System Architecture 2-75
Write Types Describe Flushing Activity
Ifthe timestamp on the page in the buffer pool is equal to or more recent than
the timestamp for the physical log buffer flush, the “before-image” of this
page conceivably could be contained in the physical log buffer. If this is the
case, the physical log buffer must be flushed before the shared-memory
buffer pages are flushed.
Beforethe tbinit daemon can flush the physical log buffer, it must acquire the
latchfor the shared-memory pointer structure and reset the pointer from the
current physical log buffer to the other buffer. After the pointer is reset, the
physical log buffer is flushed.
Next, the daemon process updates the timestamp in shared memory that
describes the most-recent physical log buffer flush. The specific page in the
shared-memory buffer pool that is marked for flushing is flushed. The
number of modified buffers in the queue is compared to the value of
LRU_MIN_DIRTY.If the number of modified buffers is greater than the value
representedby LRU_MIN_DIRTY, another page bufferis marked for flushing.
Thetimestamp comparison is repeated. If required, the physical log buffer is
flushed again.
When no more buffer flushing is required, the page-cleaner processes
calculate a value that represents a span of time during which the cleaner
processesremain asleep. This value, referred to as snooze time, is based on the
numberof pages that the cleaner processes flushed in this last active period.
(Refer topage 5-17 for further information about tuning the page-cleaning
parameters to improve OnLineperformance.)
Write Types Describe Flushing Activity
OnLine provides you with some information about the specific condition
thatprompted buffer-flushing activity by defining six types of OnLine writes
and keeping count of how often each write occurs:
Sorted write
Idle write
Foreground write
LRU write
Chunk write
Big-buffer write