Messages in this thread | | | Date | Mon, 5 May 1997 17:42:01 +0400 (IDT) | From | Gadi Oxman <> | Subject | Re: [partial fix?] Re: Badblocks and no free pages... |
| |
On Mon, 5 May 1997, Dr. Werner Fink wrote:
> What's about the folowing lines upto line 754 (goto repeat;)? It look's like > the comment points to this code. In line 751/752 there is the needed > wakeup_bdflush(1) ... isn't it? > > Werner
As I currently understand (I'm still learning buffer.c..), the last wakeup_bdflush(1) is only triggered when we are *really* desperate, and at this point we can be in a scenario in which most of the buffer cache contains dirty buffers and almost no free pages are available.
On the other hand, something like:
while(nr_buffers_type[BUF_DIRTY] > ... ) wakeup_bdflush(1);
should say to the writing process "hold on a bit before you supply me a new wave of buffers, as the write pipeline is already full enough for efficient operation, and I'm already servicing it as fast as I can".
Gadi
| |