Greg Smith <gsmith(at)gregsmith(dot)com> writes:
> There is nothing incorrect here, it's just not as clear as it could be.
> Here's a V2 that tries to clear that up:
> Unless limited by <varname>bgwriter_lru_maxpages</>, the number of dirty
> buffers written in each round is based on the number of new buffers that
> have been needed by server processes during recent rounds. The recent
> need is multiplied by <varname>bgwriter_lru_multiplier</> to arrive at the
> estimate of the number of buffers that will be needed during the next
> round. Buffers are written to meet that need if there aren't enough
> reusable ones found while scanning.
I think the main problem is the qualifying clause up front in a place
of prominence. Here's a V3 try:
The number of dirty buffers written in each round is based on the number
of new buffers that have been needed by server processes during recent
rounds. The average recent need is multiplied by
<varname>bgwriter_lru_multiplier</> to arrive at the estimate of the
number of buffers that will be needed during the next round. Dirty
buffers are written until there are that many clean, reusable buffers
available. However, no more than <varname>bgwriter_lru_maxpages</>
buffers will be written per round.
regards, tom lane